есть такой массив и функция, при обычном выводе (echo) всё корректно выводится, но при записывании в строку массив записывается в не понятном порядке, пример ниже
$arr = array (
"2018.10.20" => array (
"15:00" => array (
"select_place_of_performance" => "Событие 1",
"data_concerts" => "2018.10.20",
"time_concerts" => "15:00",
"time_sound_check" => "13:00",
"select_performers 1" => array (
0 => "Вася Пупкин 1",
1 => "Вася Пупкин 2",
2 => "Вася Пупкин 3",
),
),
"18:00" => array (
"select_place_of_performance" => "Событие 2",
"data_concerts" => "2018.10.20",
"time_concerts" => "18:00",
"time_sound_check" => "13:00",
"select_performers 2" => array (
0 => "Вася Пупкин 1",
1 => "Вася Пупкин 2",
2 => "Вася Пупкин 3",
),
),
),
"2018.10.22" => array (
"22:00" => array (
"select_place_of_performance" => "Событие 3",
"data_concerts" => "2018.10.22",
"time_concerts" => "22:00",
"time_sound_check" => "13:00",
"select_performers 3" => array (
0 => "Вася Пупкин 1",
1 => "Вася Пупкин 2",
2 => "Вася Пупкин 3",
),
),
),
);
если записывать массив в строку
function array_str ($array, $name_array = null) {
$str = "";
foreach ($array as $key =>$value) {
if (is_array($value)) {
$str .= $key;
$str .= "<br>";
array_str ($value);
} else {
$str .= $key;
$str .= "<br>";
}
}
echo $str;
}
то выводится не так как ожидается
0
1
2
select_place_of_performance
data_concerts
time_concerts
time_sound_check
select_performers 1
0
1
2
select_place_of_performance
data_concerts
time_concerts
time_sound_check
select_performers 2
15:00
18:00
0
1
2
select_place_of_performance
data_concerts
time_concerts
time_sound_check
select_performers 3
22:00
2018.10.20
2018.10.22
при выводе оператором echo
function array_str ($array, $name_array = null) {
foreach ($array as $key =>$value) {
if (is_array($value)) {
echo $key;
echo "<br>";
array_str ($value);
} else {
echo $key;
echo "<br>";
}
}
}
всё выводится корректно
2018.10.20
15:00
select_place_of_performance
data_concerts
time_concerts
time_sound_check
select_performers 1
0
1
2
18:00
select_place_of_performance
data_concerts
time_concerts
time_sound_check
select_performers 2
0
1
2
2018.10.22
22:00
select_place_of_performance
data_concerts
time_concerts
time_sound_check
select_performers 3
0
1
2
Замените вашу функцию array_str такой
function array_str($array) {
$str = "";
foreach ($array as $key =>$value) {
$str .= $key;
$str .= "<br>";
if (is_array($value)) {
$str .= array_str($value);
}
}
return $str;
}
echo array_str($arr);
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости