2012-10-18 64 views
-1
foreach ($data as $key => $value) { 
    echo $key; // let say cars 
} 

是否有可能創建一個名爲$cars

+3

您可以創建一個名爲「$ cars」的新變量。現在,請編輯您的文章並解釋您想要完成的內容。 – Styxxy

+0

每個問題,'$ cars =「cars」;'。真的需要澄清你的意思。 –

+0

只需將$ data傳遞給控制器​​的視圖,但我必須將它稱爲$ data ['cars']。而要更簡單,我希望它是$汽車 – fufu

回答

1

是的,它是可能的,使用variable variables,就像這樣:

$key = 'cars'; 
$$key = 'honda'; //$cars variable is created 
echo $cars; //prints 'honda' 
+0

是不是這樣說'$ cars ='honda';'? –

+0

@JonathanKuhn在我的例子中是的,但我只是在說明這個概念,當你從一個數組中動態地從數組中獲得'honda'時,你會看到它的真正用處。 – Nelson

-1

的$鍵和$價值變量沒有被稱爲$鍵和$值的新變量。你可以隨意重命名變量(以及任何有效的變量名稱)。

foreach($data as $cars=>$model){ 
    echo "$cars => $model"; 
} 
0

我想你問如果可以創建一個與$key的值同名的新變量 - 那麼'cars'會創建$cars'bikes'會創建$bikes等?

是的,這是可能的,但它通常不是完成任務的最佳方式。

$data = array(
    'cars' => 7, 
    'bikes' => 3 
); 

foreach ($data as $key => $value) { 
    $$key = $value; 
} 

echo $cars; // 7 
echo $bikes; // 3 
+1

@downvoter您至少可以添加評論爲什麼? – Baba

2

您是在查找extract()

$data = array('thing' => 'ocean' 
       'size' => 'big' 
       'color' => 'blue'); 

extract($data); 

echo "The $thing is $size and $color."; 

Prints:

海洋大和藍色。


可以使用foreachvariable variables做到這一點:

foreach ($data as $key => $value) 
{ 
    $$key = $value; 
} 

但是,這並不提供簡單或extract()的選項(例如:與extract(),您可以添加控制如何處理碰撞等)

相關問題