2011-11-09 55 views
0

所以,我有此數組:如何處理數組

Array ([idservice] => 3 [level0] => 0.35) Array ([idservice] => 3 [level0] => 
0.35) Array ([idservice] => 2 [level0] => 6.00) Array ([idservice] => 2 [level0] 
=> 6.00) Array ([idservice] => 100 [level0] => 20.00) Array ([idservice] => 100 
[level0] => 20.00) 

我需要做3作爲變量添加前綴到它,使其$ ID_3並設置0級爲的價值變量,像這樣

$id_3 = 0.35 

,我要對所有的數組做到這一點,所以最終我將有:

$id_3 = 0.35 
$id_2 = 2.00 
$id_100 = 6.00 

的是,在所有可能的? oi需要foreach一種說法,我可以一次獲得所有的變量。

+1

爲什麼你想將它們全部提取物作爲變量?這會讓你的代碼變得更加困難。 – liquorvicar

回答

1

您可以使用extract函數。 以下行中的內容。

$newarray = array(); 
foreach ($yourarray as $array) 
{ 
    $newkey = 'id_'.$array['idservice']; 
    $newarray[$newkey] = $array['level0']; 
} 
extract($newarray); 

您可以使用EXTR_PREFIX_ALL參數每個變量名稱前的前綴id。 查看文檔here

1

這應該做你想要什麼:

foreach ($array as $data) { 
    $idVar = 'id_'.$data['idservice']; 
    $$idVar = $data['level0']; 
} 

將導致:

$id_3 = 0.35 
$id_2 = 2.00 
$id_100 = 6.00