laravelでUndefined offset: 0
エラーが発生しました。奇妙なことは、私がdd()
それを表示するときです。PHP:定義されていないオフセット:0、dd()ではありません
$ports = $container->getPorts();
$ports = $ports[0];
I dd()
$ports = $container->getPorts();
dd($ports[0]);
Port {#336
#privatePort: 80
#publicPort: 32780
#type: "tcp"
}
フル配列するとこれはUndefined offset: 0
を返します。
array:1 [▼
0 => Port {#336 ▼
#privatePort: 80
#publicPort: 32780
#type: "tcp"
}
]
は私がドッキングウィンドウ-PHPのSDKで、このエラーを取得しています。何が起こっているのかを知っている人は誰ですか?
全コード:あなたのcontainer
の一つは、コレクションオブジェクトにあなたの配列を行い、その後、使用可能な収集方法を使用することができますlaravel collect()メソッドを使用することをお勧めしports
持っていないため、
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に関連しています。私は値を取得して配列に入れるために$ ports以上のforeachを試しました。これは動作し、私の場合に合っています。しかし、私はまだこれがどうして起こっているのか疑問に思います。 –
あなたは$ port = $ ports [0];を試しましたか? –