【发布时间】:2011-08-12 19:15:06
【问题描述】:
我有两个数组。喜欢:
Bear, prince, dog, Portugal, Bear, Clown, prince, ...
还有第二个:
45, 67, 34, 89, ...
我想将第一个数组中的字符串键变成变量并设置它们相等 到第二个数组中的数字。
有可能吗?
【问题讨论】:
标签: php arrays string variables key
我有两个数组。喜欢:
Bear, prince, dog, Portugal, Bear, Clown, prince, ...
还有第二个:
45, 67, 34, 89, ...
我想将第一个数组中的字符串键变成变量并设置它们相等 到第二个数组中的数字。
有可能吗?
【问题讨论】:
标签: php arrays string variables key
尝试使用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;
希望这会有所帮助。谢谢。
【讨论】:
extract(array_intersect_key($c, array_flip(array('green', 'red'))));。 ;)
extract(array_combine($arrayKeys, $arrayValues));
http://php.net/array_combine
http://php.net/manual/en/function.extract.php
虽然我建议您将值保存在数组中,但在命名空间中充斥变量变量并不是一个好主意。
【讨论】:
evil() 的情况下做到这一点,因为它有循环和变量变量...... :)
extract 之前是 4.3 之前的时代。只是显示我所知道的。 evil()...不错:)