1

少し慣れていないフレームワークを使用していて、と呼ばれる配列内に格納されているオブジェクトの要素にアクセスしようとしています$items。最初の要素を取得しようとしましdie(print_r($items[0]))たが、0は未定義のインデックスであると表示されます。これが結果ですprint_r($items)

どんな助けでも大歓迎です。ご不明な点がございましたら、少し漠然としていることを承知しておりますので、喜んでお答えいたします。このフレームワークが実際にどのように機能するかを説明するには、あまりにも多くのスペースが必要になると思います。

最初の要素は0ではなく2であることがわかりましたが、それでもオブジェクト内のどの要素にもアクセスできません。試しprint_r($items[2]->fields)たところ、何も返されませんでした。空白のページだけが返されました。

4

3 に答える 3

1

配列にインデックス0の要素はなく、キー5、4、3、2のみが表示されます。配列から最初の項目を取得するには、current($items)またはを使用しますreset($items)

于 2012-06-06T16:07:31.717 に答える
1

ここにリストされている配列のインデックスは0ではありません(詳細については、http://php.net/manual/en/language.types.array.phpを参照してください)。インデックスを使用して各アイテムにアクセスしようとするのではありません。使ってみませんforeachか?

foreach($items as $item)
{
  //Do what you want with each object here
  var_dump($item);
}

これにより、インデックスを使用せずに各オブジェクトにアクセスできるようになります。使用の詳細についてforeachは、こちらをご覧ください:http: //us3.php.net/manual/en/control-structures.foreach.php

乾杯!

于 2012-06-06T16:09:21.390 に答える
1

私はこれがあなたが望むものだと思います:

$item = current($items);
foreach ($item->fields as $key => $val) {
  echo "$key => $val\n";
}

アップデート:

オブジェクト$item->fieldsの保護されたプロパティであるため、取得できないようです。Dase_DBO_Project

[fields:protected] => Array
于 2012-06-06T16:29:15.503 に答える