我有兩個數組。像:如何將數組值變爲變量?
Bear, prince, dog, Portugal, Bear, Clown, prince, ...
,第二個:
45, 67, 34, 89, ...
我想將字符串鍵的第一陣列中到變量並將其設置等於 到數第二陣列中。
可能嗎?
我有兩個數組。像:如何將數組值變爲變量?
Bear, prince, dog, Portugal, Bear, Clown, prince, ...
,第二個:
45, 67, 34, 89, ...
我想將字符串鍵的第一陣列中到變量並將其設置等於 到數第二陣列中。
可能嗎?
extract(array_combine($arrayKeys, $arrayValues));
http://php.net/array_combine
http://php.net/manual/en/function.extract.php
我建議你保留值的數組,雖然,這是很少的變量變量淹沒你的命名空間是一個好主意。
使用try array_combine: -
<?php
$a = array('green', 'red', 'yellow');
$b = array('avocado', 'apple', 'banana');
$c = array_combine($a, $b);
print_r($c);
?>
輸出: -
Array (
[green] => avocado
[red] => apple
[yellow] => banana
)
遍歷數組併爲每個鍵值創建變量: -
foreach($c as $key => $value) {
$$key = $value;
}
現在,你可以打印變量,如: -
echo $green." , ".$red." , ".$yellow;
希望這會有所幫助。謝謝。
我認爲使用提取功能是更好的方法。 http://php.net/manual/en/function.extract.php但是,如果以防萬一,你不希望所有的數組值作爲變量(只想限制變量),那麼你可以使用我的答案。 – 2011-04-26 06:31:29
對於限制變量,我會'提取(array_intersect_key($ c,array_flip(array('green','red'))));'。 ;) – deceze 2011-04-26 06:34:50
比過去你不得不使用eval來解決這類問題要好得多。 – Wes 2011-04-26 06:24:44
@Wes這些*「過去的日子」*的年齡? PHP可以在不使用'evil()'的情況下執行它,因爲它有循環和變量變量...... :) – deceze 2011-04-26 06:26:41
我想我的時間過去的日子是在我知道4.3之前的'extract'之前。只是顯示我知道我猜的。 '邪惡()'...不錯:)使用提取物 – Wes 2011-04-26 06:28:45