2012-02-10 18 views
0

我已經有一個問題得到的值出的陣列的已格式化像這樣:訪問值

array(
    [key]=>array(
      [0]=>value 
      [1]=>value 
      [2]=>value) 
    [key]=>array(
      [0]=>value 
      [1]=>value)) 

我使用一個隊列通過每個鍵作爲隊列項運行並處理該信息。所以創建隊列項目我已經試過這樣:

while ($array = $result->fetchAssoc()) 
       { 

        $queue->createItem($array); 

       } 

失敗創建任何項目,所以我已經代替

if ($array != 0 || $array != NULL) { 
     foreach ($array as $row) { 
      $queue->createItem($row); 
     } 
} 

一旦隊列項創建隊列這個方法調用一個函數傳遞隊列$ item,這裏是我有問題的地方,因爲我可以成功獲取第二級數組的所有值,但無法訪問第一級的Key。

function work_function($item){ 

    foreach($item as $row=>$job){ 
     //do something 
    } 
} 

在我的功能我曾嘗試:

//1 
    $arrayKEY= $item; 

    //2 
    foreach($item as $row){ 
    $arrayKEY= $row; 
    } 

我無法得到我所需要的值。我做錯了什麼/我可以做到這一點嗎?

感謝

+1

'$ queue'是什麼? – hakre 2012-02-10 17:51:14

+0

http://en.wikipedia.org/wiki/Queue_%28data_structure%29 – user975044 2012-02-10 17:53:03

+2

@ user975044。 $ queue有沒有更狡猾的定義的機會?具體是哪個Php對象呢? – CBusBus 2012-02-10 18:36:50

回答

1

沒有太多的信息在這裏,但如果數組是像你這樣的表現,這是一個多維數組,從而爲循環需要2。

function work_function($item){ 
    foreach($item as $row=>$job){ 
     echo "Row $row:\n"; 
     foreach($job as $value){ 
      echo $value."\n"; 
     } 
    } 
}