4
我得到一個Undefined offset: 0
與laravel錯誤。奇怪的是,當我dd()
它,它出現了。PHP:未定義偏移量:0,但不與dd()
$ports = $container->getPorts();
$ports = $ports[0];
這將返回Undefined offset: 0
當我dd()
$ports = $container->getPorts();
dd($ports[0]);
Port {#336
#privatePort: 80
#publicPort: 32780
#type: "tcp"
}
全陣列:
array:1 [▼
0 => Port {#336 ▼
#privatePort: 80
#publicPort: 32780
#type: "tcp"
}
]
我收到此錯誤與泊塢窗的PHP SDK。任何人都知道發生了什麼?
全碼:
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 ]);
}
什麼是完整的錯誤消息? Undefined offset:0是否與$ ports或$ data有關? – kerrin
它與$ ports有關。我嘗試了一個$端口的foreach來獲取值並將它們放入一個數組中。這確實有效,並適合我的情況。但我仍然想知道爲什麼會發生這種情況。你試過 –
$ port = $ ports [0];? –