将两个字符串数组组合成一个关联数组

问题描述 投票:0回答:2

我有两个数组。喜欢:

Bear, prince, dog, Portugal, Bear, Clown, prince, ...

第二个:

45, 67, 34, 89, ...

我想将第一个数组中的字符串键变成变量并将它们设置为相等 到第二个数组中的数字。

可以吗?

php arrays string key associative-array
2个回答
27
投票
extract(array_combine($arrayKeys, $arrayValues));

http://php.net/array_combine
http://php.net/manual/en/function.extract.php

我建议您将值保留在数组中,但用可变变量淹没您的命名空间并不是一个好主意。


5
投票

尝试使用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;

希望这有帮助。谢谢。

© www.soinside.com 2019 - 2024. All rights reserved.