2013-01-10 38 views
0

我需要在數組中的所有項目轉換爲varialbes,如:轉換的所有項目在數組變量

$item[0] = "apple=5"; 
$item[1] = "banana=7"; 
$item[2] = "orange=8"; 

,我想將它轉化成這樣:

$apple=5; 
$banana=7; 
$orange=8; 

像正常變量。可能嗎?

+1

什麼是你的源格式?我想你實際上沒有實際定義這個陣列手動 –

回答

4

看起來像一個愚蠢的事情要做,爲什麼不把它轉換成關聯數組?但是,如果你必須:

foreach($item as $x) { 
    list($name, $val) = explode('=', $x, 2); 
    $$name = $val; 
} 
+0

或使用JSON ... 此外,你的代碼如何知道前面創建了哪些變量以及如何使用它們 – kishu27

+0

@ kishu27:OP如何知道這一點?這是OP想要的。他想如何使用它取決於他。 –

+0

@ kishu27 JSON將是一個大字符串,這似乎不是很有用。 – Barmar

0

你可以像下面這樣做

$item[0] = "apple=5"; 
$item[1] = "banana=7"; 
$item[2] = "orange=8"; 


foreach($item as $row) 
{ 
    $new = explode('=',$row); 
    $array[$new[0]] = $new[1]; 
} 

extract($array); 
echo $apple; 
echo $banana; 
echo $orange; 
4

你可以嘗試加入數組和字符串解析到變量

parse_str(implode('&',$item)); 
+0

嗯,將它轉換成查詢字符串,並解析它?聰明:-) –

+0

除非值包含'&'字符。 – Barmar