Ребята подскажите почему с помощью оператора for не выводится многомерный массив ,хотя оператором foreach выводится. PHP: $avto =[ ['vesta','gazel'], ['e60','A8'] ]; for($i=0,$num=count($avto);$i<$num;$i++) { for($m=0,$man=count($avto[$i]);$m<$man;$m++) {print $avto[$i][$m];} }; А вот тут другой многомерный массив выводится PHP: $avto = array( 'russian'=>array('lada'=>'vesta', 'gaz'=>'gazel'), 'germanian'=>array('bmw'=>'e60', 'audi'=>'A8') ); foreach($avto as $country=>$model) { foreach($model as $name=>$machine) { print "Машины $country это: $machine<br>";} }
Выкинь это из параметров цикла за цикл! --- Добавлено --- И оформи свой код правильно! PHP: <?php $arr = Array('dev', 'boom', 'loop', 'great', 'grand'); $number = count($arr); for($i=0;$i<=$number;$i++) { print $arr[$i]; }
в одномерном массиве как у тебя у меня получается использовать for и foreach, в многомерных получается foreach запускать ,но for не получается
PHP: $data =[ ['vesta','gazel'], ['e60','A8'] ]; //Вариант For for($i=0;$i<count($data);$i++) { for($j=0;$j<count($data[$i]);$j++) { echo $data[$i][$j]; } } //Еще вариант в копилку для тебя foreach(new RecursiveIteratorIterator( new RecursiveArrayIterator($data)) as $v) { echo $v; }
У меня всё отрабатывает! Проверил PHP: $arr = [ ['nginx', 'php', 'mysql'], ['1.11', '7.1', '5.7'] ]; $countArray = count($arr); for($i=0;$i<$countArray;$i++){ $countArrayInArray = count($arr[$i]); for($d=0;$d<$countArrayInArray;$d++) { echo $arr[$i][$d].'<br/>____<br/>'; } } --- Добавлено --- не надо так делать, потом что он каждую итерацию будет вызывать функцию count... Как то не производительно!