2009-09-17 46 views
1

如何獲取像下面這樣的多維數組,並將其拆分爲多個單獨的數組?額外的挑戰:雖然我知道在下面的例子中有兩對(綜合瀏覽量,訪問量),但你怎麼能這樣做,假設你不知道數組中的對數量?例如,我可能想要添加「頁面上的時間」或「訪問的頁面」,因此可以有任意數量的對。如何在PHP中分割多維數組?

最終,我的目標是擁有一個數組:「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"]; 
    } 
} 
+0

代碼應該工作.... – RageZ 2009-09-17 03:41:25

+0

是啊,明明沒有錯你的方式這樣做... – timdev 2009-09-17 03:44:08

回答

9

你的陣列是不深,你想:

$pageViews = array(); 
$visits = array(); 
foreach ($google_lastMonth as $value) { 
    $pageViews[] = $value["ga:pageviews"]; 
    $visits[] = $value["ga:visits"]; 
} 
+1

謝謝!!!!!!!!!!!!親愛的閣下,我討厭這些「陷阱」。感謝上帝,感謝上帝,祝你親切的人誰使事情工作; D – Matrym 2009-09-17 03:51:06

0

我覺得

你應該擦除訪問的託槽

好我的壞應該是

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

感謝您的支持。我仍然有問題。任何其他想法? – Matrym 2009-09-17 03:46:03

+0

嘗試更換「通過 '上 $瀏覽量[] = $ nested_value [' GA:瀏覽量 ']; $ 訪問[] = $ nested_value [' GA:探訪]; – RageZ 2009-09-17 03:48:32

+0

OKY發現它... – RageZ 2009-09-17 03:52:40