Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Форумы портала PHP.SU :: Версия для печати :: Обращение к элементу многомерного массива
Форумы портала PHP.SU » » Вопросы новичков » Обращение к элементу многомерного массива

Страниц (1): [1]
 

1. lamer6666 - 20 Апреля, 2012 - 21:43:11 - перейти к сообщению
Доброго времени суток уважаемые.
Поискал по форуму, вроде не нашел ответа на мой вопрос.
Имею массив:

PHP:
скопировать код в буфер обмена
  1.  
  2. $a_tree=array(
  3.   array('k_item' =>1,'s_name' =>'1','a_tree' => array(
  4.     array('k_item' =>2,'s_name' =>'1.1','a_tree' => array(
  5.       array('k_item' =>3,'s_name' =>'1.1.1','a_tree' 4/span>=> array()),
  6.       array('k_item' =>4,'s_name' =>'1.1.2','a_tree' => array()),
  7.       array('k_item' =>5,'s_name' =>'1.1.3','a_tree' => array(
  8.         array('k_item' =>6,'s_name' =>'1.1.3.1','a_tree' => array())
  9.         )),
  10.       )),
  11.     array('k_item' =>7,'s_name' =>'1.2','a_tree' => array()),
  12.     array('k_item' =>8,'s_name' =>'1.3','a_tree' => array(
  13.       array('k_item' =>9,'s_name' =>'1.3.1','a_tree' => array()),
  14.       array('k_item' =>10,'s_name' =>'1.3.2','a_tree' => array())
  15.       )),
  16.     array('k_item' =>11,'s_name' =>'1.4','a_tree' => array(
  17.       array('k_item' =>12,'s_name' =>'1.4.1','a_tree' => array())
  18.       )),
  19.     )),
  20.   array('k_item' =>13,'s_name' =>'2','a_tree' => array()),
  21.   array('k_item' =>14,'s_name' =>'3','a_tree' => array(
  22.     array('k_item' =>15,'s_name' =>'3.1','a_tree' => array())
  23.     ))
  24.   );
  25.  


насколько я понял из статей по работе с массивами, для обращения к конкретному элементу необходимо указать все индексы элементов $a_tree[1][2][][]...[i]=ЗНАЧЕНИЕ
Есть ли какая функция которая по уникальному индексу позволит присвоить значение элементу массива $a_tree[i] без указания вышестоящих [1][2][][]...?
То есть если я хочу присвоить значение в $a_tree элементу 'a_tree' у которого 'k_item' =>15 мне придется выяснить что 15 в 14, а 14 в ... и т.д. и после этого только я получу список всех индексов [1][2][][]...[i] и только потом могу обратится к $a_tree[1][2][][]...[i].
Прошу прощения, если что то назвал не своими именами.
Заранее всем огромное спасибо, с уважением lamer.

 

Powered by ExBB FM 1.0 RC1