2013-08-21 36 views
0

的第一陣列:得到給出下面的3維數組作爲例子,3維數組

Array 
(
[324] => Array 
    (
     [0] => Array 
      (
       [workid] => 324 
       [wname] => Y quiero llegar a más/Para triunfar en la vía 
       [recordingid] => 476 
       [rname] => Y quiero llegar a más/Para triunfar en la vía 
       [rsubname] => Fandangos sevillanos 
      ) 

    ) 

[325] => Array 
    (
     [0] => Array 
      (
       [workid] => 325 
       [wname] => Ya basta 
       [recordingid] => 479 
       [rname] => Ya basta 
       [rsubname] => 
      ) 

    ) 

[326] => Array 
    (
     [0] => Array 
      (
       [workid] => 326 
       [wname] => Y sin embargo te quiero 
       [recordingid] => 563 
       [rname] => Y sin embargo te quiero 
       [rsubname] => 
      ) 

     [1] => Array 
      (
       [workid] => 326 
       [wname] => Y sin embargo te quiero 
       [recordingid] => 562 
       [rname] => Y sin embargo te quiero 
       [rsubname] => (continuación) 
      ) 

     [2] => Array 
      (
       [workid] => 326 
       [wname] => Y sin embargo te quiero 
       [recordingid] => 478 
       [rname] => Y sin embargo te quiero 
       [rsubname] => 
      ) 

    ) 
) 

我要挑3維數組的第一個陣列,並將其分配給另一個數組,讓我們把它$ arr_first

$ arr_first的outpout應該是這樣的

Array 
       (
        [workid] => 324 
        [wname] => Y quiero llegar a más/Para triunfar en la vía 
        [recordingid] => 476 
        [rname] => Y quiero llegar a más/Para triunfar en la vía 
        [rsubname] => Fandangos sevillanos 
       ) 

當然,我可以循環,並得到我想要的。但我需要知道什麼是最優雅和最快的方式來實現這個循環而不是整個陣列?

編輯: 該陣列只是一個例子......它是硬編碼。關鍵值可能會改變。所以,我需要得到獨立於第一陣列上的ID

回答

2

試試這個:(假設$old_array是你的3維數組)

$arr_first = array_merge(array(), reset(reset($old_array))); // merge with empty array to clone 
print_r($arr_first); 

使用的array_shift()代替reset()也將刪除該數組中的第一個元素等等注意到。

我用array_merge()既然你問「並將其分配給另一個數組」,然而,如果你確定有兩個數組是相同的一個,你可以刪除array_merge()和堅持:

$arr_first = reset(reset($old_array)); 

Check this working fiddle

+0

同樣的事情,我得到的錯誤:嚴格的標準:只有變量應該通過引用傳遞在C:\ public_html \ songbook \ index.php 52行 – Marco

+0

@Marco這是52行? –

+0

錯誤是因爲我嘗試附上兩個或更多的函數處理數組類型的變量,PHP將返回一個錯誤.. – Marco

0

$ arr_first = array_shift(array_values($ array));

var_dump($ arr_first);

這樣你就可以始終獨立於id。

+0

即時獲取此錯誤:嚴格標準:只有變量應該通過在第48行的C:\ public_html \ songbook \ index.php中引用 – Marco

+0

我做過,即時仍然得到該錯誤 – Marco

+0

好的問題是,當我試圖封裝兩個或更多的函數處理數組類型的變量,PHP會返回一個錯誤..那beeing說,這個解決方案返回第一個2維數組..我想最後一個數組 – Marco