Как разбить многомерный массив в PHP? - PullRequest
1 голос
/ 17 сентября 2009

Как я могу взять многомерный массив, как показано ниже, и разбить его на несколько отдельных массивов? Дополнительная задача: хотя я знаю, что в приведенном ниже примере есть две пары (просмотры страниц, посещения), как вы можете это сделать, если вы не знаете количество пар в массиве? Например, я могу захотеть добавить «время на странице» или «посещенные страницы» и поэтому могу иметь любое количество пар.

Моя цель, в конце концов, заключалась бы в том, чтобы иметь массив вроде: «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"];
    }
}

Ответы [ 2 ]

9 голосов
/ 17 сентября 2009

Ваш массив не так глубок, как вы думаете:

$pageViews = array();
$visits = array();
foreach ($google_lastMonth as $value) {
    $pageViews[] = $value["ga:pageviews"];
    $visits[] = $value["ga:visits"];
}
0 голосов
/ 17 сентября 2009

Я думаю

Вы должны стереть браслет при посещении

Хорошо, мой плохой, должно быть, что

  $pageViews = array();
    $visits = array();
    foreach ($result as $value) {
    $pageViews[] = $value['ga:pageviews'];
        $visits[] = $value['ga:visits'];
}
...