如何在 PHP 中将一个数组设置为另一个数组的值?
How can I set one array as a value of another array in PHP?
我有以下数组:
Array
(
[0] => James
[1] => Mike
[2] => Liam
[3] => Shantel
[4] => Harry
)
Array
(
[0] => Green
[1] => Blue
[2] => Yellow
[3] => Purple
[4] => Red
)
如何将这两个数组放入 JSON 对象中?
所以这应该是预期的输出:
{"James":"Green","Mike":"Blue","Liam":"Yellow","Shantel":"Purple"}
这是我尝试做的,但我得到了完全不同的输出:
$final = array();
$names = ['James', 'Mike', 'Liam', 'Shantel', 'Harry']
$colors = ['Green', 'Blue', 'Yellow', 'Purple', 'Red']
for ($i = 0; $i <= 4; $i++) {
$final[] = array_push($final, $names[$i], $colors[$i]);
}
我做错了什么?
您想将 $final
的特定键设置为特定值。因此,与其使用 array_push
(或 $final[]
),它只是将一个值添加到索引数组,不如定义关联数组 $final
的 key/value,例如:
$final[$names[$i]] = $colors[$i];
$final = array();
$names = ['James', 'Mike', 'Liam', 'Shantel', 'Harry'];
$colors = ['Green', 'Blue', 'Yellow', 'Purple', 'Red'];
foreach($names as $i => $key) {
$final[$key] = $colors[$i];
}
的工作示例
尝试array_combine()
$a = ["James", "Mike", "Liam", "Shantel", "Harry"];
$b = ["Green", "Blue", "Yellow", "Purple", "Red"];
$c = array_combine($a, $b);
print_r($c);
echo json_encode($c);
输出:
Array
(
[James] => Green
[Mike] => Blue
[Liam] => Yellow
[Shantel] => Purple
[Harry] => Red
)
{"James":"Green","Mike":"Blue","Liam":"Yellow","Shantel":"Purple","Harry":"Red"}
我有以下数组:
Array
(
[0] => James
[1] => Mike
[2] => Liam
[3] => Shantel
[4] => Harry
)
Array
(
[0] => Green
[1] => Blue
[2] => Yellow
[3] => Purple
[4] => Red
)
如何将这两个数组放入 JSON 对象中?
所以这应该是预期的输出:
{"James":"Green","Mike":"Blue","Liam":"Yellow","Shantel":"Purple"}
这是我尝试做的,但我得到了完全不同的输出:
$final = array();
$names = ['James', 'Mike', 'Liam', 'Shantel', 'Harry']
$colors = ['Green', 'Blue', 'Yellow', 'Purple', 'Red']
for ($i = 0; $i <= 4; $i++) {
$final[] = array_push($final, $names[$i], $colors[$i]);
}
我做错了什么?
您想将 $final
的特定键设置为特定值。因此,与其使用 array_push
(或 $final[]
),它只是将一个值添加到索引数组,不如定义关联数组 $final
的 key/value,例如:
$final[$names[$i]] = $colors[$i];
$final = array();
$names = ['James', 'Mike', 'Liam', 'Shantel', 'Harry'];
$colors = ['Green', 'Blue', 'Yellow', 'Purple', 'Red'];
foreach($names as $i => $key) {
$final[$key] = $colors[$i];
}
的工作示例
尝试array_combine()
$a = ["James", "Mike", "Liam", "Shantel", "Harry"];
$b = ["Green", "Blue", "Yellow", "Purple", "Red"];
$c = array_combine($a, $b);
print_r($c);
echo json_encode($c);
输出:
Array
(
[James] => Green
[Mike] => Blue
[Liam] => Yellow
[Shantel] => Purple
[Harry] => Red
)
{"James":"Green","Mike":"Blue","Liam":"Yellow","Shantel":"Purple","Harry":"Red"}