Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В. C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Добавить в массив еще одно значение
 
 автор: OLi   (21.07.2011 в 12:52)   письмо автору
 
 

foreach ( $cat_info as $cats ) {
                   
            if( $cats['parentid'] == $parentid ) $root_category[] = $cats['id'];
        
                        
                }
foreach ( $root_category as $id ) {... }

Как добавить в $root_category[] еще одно значение $cats['icon'] чтобы потом в едином foreach получить его вместе с id?

  Ответить  
 
 автор: cheops   (21.07.2011 в 13:33)   письмо автору
 
   для: OLi   (21.07.2011 в 12:52)
 

Хм... $root_category[] - это одномерный массив, вы его хотите в двумерный превратить?

  Ответить  
 
 автор: OLi   (21.07.2011 в 13:37)   письмо автору
 
   для: cheops   (21.07.2011 в 13:33)
 

да..получается что-то вроде $root_category[$cats[id]][]

  Ответить  
 
 автор: OLi   (21.07.2011 в 13:40)   письмо автору
 
   для: OLi   (21.07.2011 в 13:37)
 

У меня в $cat_info массив вида:
Array ( [2] => Array ( [id] => 2 [parentid] => 0 [posi] => 1 [name] => Транспорт и перевозки [alt_name] => transport-i-perevozki [icon] => http://otvet.mail.ru/img/ico_adv_s.gif [skin] => [descr] => Транспорт и перевозки [keywords] => Транспорт и перевозки [news_sort] => title [news_msort] =>

Мне надо выдернуть [icon] каждого и добавить в массив $root_category[], который потом вывести опять с значениями id и icon

Сделал так:
foreach ( $cat_info as $cats) {
                   
            if( $cats['parentid'] == $parentid ){ $root_category[$cats['id']][] = $cats['icon'];}
        
                       
                }

foreach ( $root_category as $id=>$icon) {echo $icon [0];}

Спасибо!

  Ответить  
 
 автор: OLi   (21.07.2011 в 15:35)   письмо автору
 
   для: OLi   (21.07.2011 в 13:40)
 

А если еще один добавить элемент $cats['descr']?
Как это будет выглядеть?

  Ответить  
 
 автор: redrum   (21.07.2011 в 16:49)   письмо автору
 
   для: OLi   (21.07.2011 в 15:35)
 

Сделайте проще



foreach ( $cat_info as $cats) { 
             $temp = array();       
            if( $cats['parentid'] == $parentid )
            { 
                         
                         $temp['icon'] = $cats['icon'];
                         $temp['descr'] = $cats['descr'];
                         $root_category[]  = $temp;
             } 
         
                        
                } 

foreach ( $root_category as $id=>$icon) 
{
echo $icon['icon'];
//в массиве $icon есть все на каждую запись
}



Если нужно звписывать в $root_category все содержимое $cats , то проще не вводить переменную $temp а сразу вписать $root_category[] = $cats;

  Ответить  
 
 автор: OLi   (21.07.2011 в 17:51)   письмо автору
 
   для: redrum   (21.07.2011 в 16:49)
 

Таким способом выводит ошибку:
Fatal error: Allowed memory size of 134217728 bytes exhausted (tried to allocate 301997 bytes) in O:\home\test1.ru\www\djavad\engine\modules\functions.php on line 315

  Ответить  
 
 автор: OLi   (21.07.2011 в 17:56)   письмо автору
 
   для: OLi   (21.07.2011 в 17:51)
 

Вопрос решен - немного неверно вывод через форенч сделали

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования