الوصول إلى متغيرات كائن الصفيف عند تنفيذ RecursiveArrayiterator
-
26-09-2019 - |
سؤال
لديّ arrayoBject كبيرة التي أتحلق عليها باستخدام ما يلي:-
$rit = new RecursiveIteratorIterator(new RecursiveArrayIterator($hierarchy));
foreach($rit as $key=> $val) {
}
كيف يمكنني الوصول إلى مفتاح معين داخل الصفيف؟ يمكنني الوصول إليها عن طريق صدى مفتاح $ و $ Val لكن لدي مفاتيح محددة أرغب في الوصول إليها. إذا حاولت الاتصال بمفتاح $ [''] أحصل على الحرف الأول على اسم المفتاح.
تحرير 1
بعض بيانات النماذج (يمكن أن يكون هناك العديد من الأطفال الفرعيين المختلفين أيضًا):
ArrayObject::__set_state(array(
0 =>
ArrayObject::__set_state(array(
0 =>
array (
'id' => '8755',
'company_id' => '1437',
'name' => 'Name 1'
),
1 =>
ArrayObject::__set_state(array(
0 =>
ArrayObject::__set_state(array(
0 =>
array (
'id' => '8763',
'company_id' => '1437',
'name' => 'Name 2'
),
1 =>
ArrayObject::__set_state(array(
0 =>
ArrayObject::__set_state(array(
0 =>
array (
'id' => '9067',
'company_id' => '1437',
'name' => 'Name 3'
),
)),
1 =>
ArrayObject::__set_state(array(
0 =>
array (
'id' => '8765',
'company_id' => '1437',
'name' => 'Name 4'
),
)),
2 =>
ArrayObject::__set_state(array(
0 =>
array (
'id' => '9049',
'company_id' => '1437',
'name' => 'Name 5'
),
)),
3 =>
ArrayObject::__set_state(array(
0 =>
array (
'id' => '8769',
'company_id' => '1437',
'name' => 'Name 6'
),
)),
المحلول
بشكل افتراضي ، سوف يسرد RecursiveIratoratorator الأوراق فقط. محاولة
$rit = new RecursiveIteratorIterator(
new RecursiveArrayIterator($hierarchy),
RecursiveIteratorIterator::SELF_FIRST);
للحصول على العناصر المحتوية كذلك.
نصائح أخرى
على افتراض $hierarchy
هو صفيفك الكبير ، يمكنك استخدامه $hierarchy["foo"]
للوصول إلى القيمة المرتبطة بـ foo
مفتاح. او مثل هذا:
$my_key = "foo"
echo $hierarchy[$my_key]
// Same as
echo $hierarchy["foo"]
لا تنتمي إلى StackOverflow