2016-09-16 167 views
1

我有數據從另一個腳本來的關聯數組:如何分離並通過環路一多維數組分配數據 - PHP

while($row = mysqli_fetch_assoc($query)){ 
    $replyArray[] = array(
     'did' => $row['discussion_id'], 
     'rid' => $row['reacter_id'], 
     'reply' => $row['reply'], 
     'date' => $row['date'] 
    ); 
} 

我將使用此陣$ replyArray功能

 //In this function we extract data(discussions) from array 
    //This function is called inside disReply function. 

    function subDiscussion($replyArray){ 
         $reply_count = count($replyArray); 
         for($x=0; $x < $reply_count; $x++){ 
          echo "<br><h3>Data: ".($x +1).' <br>'."</h3>" ; 
          foreach($replyArray[$x] as $key => $value){ 
           echo $data= $key.": ". $value."<br>";    

          } 

         } 
       }; 

上面的例子僅通過呼應可變$數據返回所有相關聯的配對數據。

我想實現的是數據(以PAIRE數據)分爲不同的變量:

$擺脫 =它的價值

$做 =它的價值

$回覆 =它的值

$ date =它的值

原因是因爲我想在稍後將它們放入該函數的HTML設計中。

謝謝。

+1

類似[extract()](http://php.net/manual/en/function.extract.php)? –

+0

哇...這個功能會很強大...我只是閱讀PHP手冊。它表示它將鍵名稱視爲變量並將值視爲變量值。 –

+0

謝謝你的回答太有用 –

回答

2

可變的變量將在這裏幫助:

// inside the final (foreach) loop 
foreach($replyArray[$x] as $key => $value){ 

    $$key = $value;  

} 
// now use these variables, $did, $rid, etc., e.g. save to an array or use in a function - else they will be overwritten in next iteration of parent for loop 

瞭解更多關於變量變量here

根據什麼帕特里克Q使用PHP 提取物()

for($x=0; $x < $reply_count; $x++){ 
    extract($replyArray[$x]); 
} 

提取物()該函數將鍵作爲變量名和值作爲變量值建議。對於每個鍵/值對,它將創建一個變量

+0

我真的很困惑 –

+0

例如,當$ x = 0時,第一個$ key是「did」。一個變量變量可以讓你獲得這個值,現在使用該值構造一個變量,所以它就像$$ key = $ {「did」} = $ did –

+0

很棒!它的工作,但我必須說,我使用內部foreach循環外的變量。所以我成功地在for循環中使用它: –