Je reçois une erreur Undefined offset: 0
avec laravel. La chose étrange est que quand je dd()
il, il apparaît.PHP: Offset non défini: 0, mais pas avec dd()
$ports = $container->getPorts();
$ports = $ports[0];
Ce retour Undefined offset: 0
Quand je dd()
$ports = $container->getPorts();
dd($ports[0]);
Port {#336
#privatePort: 80
#publicPort: 32780
#type: "tcp"
}
La gamme complète:
array:1 [▼
0 => Port {#336 ▼
#privatePort: 80
#publicPort: 32780
#type: "tcp"
}
]
Je reçois cette erreur avec le sdk docker-php. Quelqu'un qui a la moindre idée de ce qui se passe?
code complet:
public function dockerContainers()
{
$docker = new \Docker\Docker();
$containerManager = $docker->getContainerManager();
$containers = $containerManager->findAll();
$data = [];
$x=0;
foreach ($containers as $container) {
$ports = $container->getPorts();
// dd($ports[0]);
$ports = $ports[0];
$privatePort = $ports->getPrivatePort();
$publicPort = $ports->getPublicPort();
$data[$x++] = [
'id' => $container->getId(),
'state' => $container->getState(),
'names' => $container->getNames(),
'image' => $container->getImage(),
'status' => $container->getStatus(),
'ports' => [
'privatePort' => $privatePort,
'publicPort' => $publicPort
]
];
}
return view('containers', [ 'containers' => $data ]);
}
Quel est le message d'erreur complet? Est-ce que le décalage non défini: 0 est lié à $ ports ou $ data? – kerrin
Il est lié à $ ports. J'ai essayé un foreach sur $ ports pour obtenir les valeurs et les mettre dans un tableau. Cela fonctionne et convient à mon cas. Mais je me demande encore pourquoi cela arrive. –
avez-vous essayé $ port = $ ports [0] ;? –