2012-01-01 188 views
1

我想通過在第8行上執行($ checkbox = $ data;)來重新分配一個全局變量(本例中爲'$ aDoor')。不知道如何解決這個問題,並會喜歡一些幫助!在foreach循環中使用別名分配一個全局變量(php)

$checkboxes = array($aDoor,$bro); 

foreach ($checkboxes as $checkbox => $checkdata) { 
    $data = ''; 
    foreach ($checkdata as $check) { 
     $data .= $check . ", "; 
    } 
    $checkbox = $data; 
    echo $data; 
} 
echo $aDoor; 
+0

值得一提:避免使用全局變量。 – KingCrunch 2012-01-01 02:51:56

+0

什麼是你的問題或什麼不工作,應該解決? – Dion 2012-01-01 02:52:50

+0

我需要在foreach循環完成工作後將$ data設置爲$ aDoor和$ bro。 – kht 2012-01-01 03:01:52

回答

4

您需要參考。拋出一些&符號:

$aDoor = array("hi", "hi2"); 
$bro = array("bye", "bye2"); 
$checkboxes = array(&$aDoor, &$bro); 
//& means modifications to $checkbox[0] will also change $aDoor 
//vs. just making a copy of $aDoor 

foreach ($checkboxes as &$checkbox) { //same here 
    $checkbox = implode(",", $checkbox); 
} 
print($aDoor); 

此外,implode是一種將數組連接在一起的更簡單的方法。

+0

這對我不起作用,$ aDoor仍然不能解析爲$數據。我嘗試在$ checkbox前面加上&符號,但那給了我一個500錯誤。 – kht 2012-01-01 03:07:11

+0

對不起,一定是更新代碼的一半。試試看:這簡單得多,應該做的工作:) – benesch 2012-01-01 03:07:46

+0

謝謝,完美:) – kht 2012-01-01 03:35:36