私はクライアントページから情報を自動取得するプロジェクトに取り組んでいます。基本的には、他の関数を呼び出し、stdClassオブジェクトに情報を配置する関数です。私は賢いと思って "検索可能"にしましたが、私はいくつかの小さな問題に遭遇しました。ここでネストされたstdClassをデータベースに挿入します
は出力の例です:
stdClass Object
(
[ud] => stdClass Object
(
[name] => stdClass Object
(
[svenska] => Uddev
[engelska] => uddev
)
[biografer] => stdClass Object
(
[0] => stdClass Object
(
[namn] => Drottning. Uddev
[id] => 196
[salonger] => stdClass Object
(
[0] => stdClass Object
(
[salong] => Vag 1
[platser] => 100 platser
[ljud] => SOU
)
[1] => stdClass Object
(
[salong] => Vag 2
[platser] => 100 platser
[ljud] => SOU
)
[2] => stdClass Object
(
[salong] => Vag 3
[platser] => 60 platser
[ljud] => SOU
)
[3] => stdClass Object
(
[salong] => Vag 4
[platser] => 50 platser
[ljud] => SOU
)
[4] => stdClass Object
(
[salong] => Vag 5
[platser] => 50 platser
[ljud] => DOLBY
)
[5] => stdClass Object
(
[salong] => Vag 6
[platser] => 34 platser
[ljud] =>
)
)
)
)
)
[ma] => stdClass Object
(
...... And the following object
あなたが見ることができるように、最初のオブジェクトのインデックス(またはそれが鍵となります)ud
です。
私はこのような何かができることを考えた:
$test = $crawler->fetchAllArray();
foreach ($test as $key => $value) {
if($key == 'ud'){
foreach ($value->{ud} as $child => $ud) { # line 295
echo "id: $key" . ", name: $ud->name->svenska";
}
}
}
をそして、それがid: ud, name: Uddev
を生成するだろうが、私は次のエラーが表示されます。
Notice: Use of undefined constant ud - assumed 'ud' in test.php on line 295
Notice: Undefined property: stdClass::$ud in test.php on line 295
Warning: Invalid argument supplied for foreach() in test.php on line 295
特定のオブジェクト?
プロパティを使う前に、あなたは 'isset'または' property_exists'でチェックできます。 ($ value-> ud) – ICE