|
|
|
| Есть массив $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 элемент. | |
|
|
|
|
|
|
|
для: Лена
(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 " Name: " . $sub['sub_n'] . ", ID: " . $sub['sub_t'] . "<br>";
}
}
|
| |
|
|
|