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

Форум PHP

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

 

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

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

тема: Разложить массив
 
 автор: Лена   (03.06.2009 в 14:18)   письмо автору
 
 

Есть массив $content:

Array
(
    [0] => Array
        (
            [tname] => Array
                (
                    [0] => Фрукты
                 )
            [ttid] => Array
                (
                    [0] => 80
                )
            [sub] => Array
                (
                    [sub_t] => Array
                        (
                            [0] => 18
                            [1] => 19
                        )

                    [sub_n] => Array
                        (
                            [0] => Яблоко
                            [1] => Слива
                        )
                )
        )
     [1]=> //следующий элемент массива
     [2]=> //еще один элемент
)

Мне нужно получить значения всех его элементов. Делаю вот так:

<?php
for($p=0$p<count($content);$p++){
print 
$content[$p]['tname']; 
print 
$content[$p]['ttid']; 
  foreach (
$content[$p]['sub'] as $sub){ 
    
$c '<a href="lib/' $content[$p]['ttid'] . '/' $sub['sub_t'][0] . '">' .       $sub['sub_n'][0] . '</a><br /></nobr>'
                        }
}
?>

Как мне вывести все, что находится в [sub_t] и в [sub_n]? В примере я вывела только 0 элемент.

  Ответить  
 
 автор: sim5   (03.06.2009 в 14:58)   письмо автору
 
   для: Лена   (03.06.2009 в 14:18)
 

Тут не сколь это является проблемой, сколь неудачная структура исходного массива. По идее массив должен быть примерно таким:
<?
$array 
= array(
array(
'ttid'=>10'tname'=>'Фрукты''sub'=>array(
  array(
'sub_t'=>18'sub_n'=>'Яблоко'),
  array(
'sub_t'=>19'sub_n'=>'Слива'))),
array(
'ttid'=>11'tname'=>'Мясо''sub'=>array(
  array(
'sub_t'=>21'sub_n'=>'Рыба'),
  array(
'sub_t'=>22'sub_n'=>'Курица'))),
array(
'ttid'=>12'tname'=>'Крупы')
);

foreach(
$array as $cat) {
  echo 
"Name: " $cat['tname'] . ", ID: " $cat['ttid'] . "<br>";
  if (
$cat['sub']) {
    foreach(
$cat['sub'] as $sub) echo "&nbsp;&nbsp;Name: " $sub['sub_n'] . ", ID: " $sub['sub_t'] . "<br>";
  }
}

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

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