Как разбить многомерный массив в PHP?
-
08-07-2019 - |
Вопрос
Как я могу взять многомерный массив, как показано ниже, и разбить его на несколько отдельных массивов? Дополнительная задача: хотя я знаю, что в приведенном ниже примере есть две пары (просмотры страниц, посещения), как вы можете это сделать, если вы не знаете количество пар в массиве? Например, я могу добавить «время на странице» или "посещенные страницы" и поэтому могут иметь любое количество пар.
В конце концов, моей целью было бы иметь массив, подобный следующему: "26, 9, 18" и другой массив "20, 4, 9".
У меня есть такой массив:
Array ( [20090817] => Array ( [ga:pageviews] => 26 [ga:visits] => 20 ) [20090818] => Array ( [ga:pageviews] => 9 [ga:visits] => 4 ) [20090819] => Array ( [ga:pageviews] => 18 [ga:visits] => 9 ) )
Я бы подумал, что приведенный ниже код будет работать, но он не получает нужного мне конкретного значения, и по какой-то странной причине он обрезает каждое значение до одного символа:
$pageViews = array(); $visits[] = array(); foreach ($google_lastMonth as $value) { foreach ($value as $nested_key => $nested_value) { $pageViews[] = $nested_value["ga:pageviews"]; $visits[] = $nested_value["ga:visits"]; } }
Решение
Ваш массив не такой глубокий, как вы думаете:
$pageViews = array();
$visits = array();
foreach ($google_lastMonth as $value) {
$pageViews[] = $value["ga:pageviews"];
$visits[] = $value["ga:visits"];
}
Другие советы
я думаю
вы должны использовать скобку при посещении
Хорошо, плохо,
$pageViews = array();
$visits = array();
foreach ($result as $value) {
$pageViews[] = $value['ga:pageviews'];
$visits[] = $value['ga:visits'];
}