我有两个数组(下面)。是否可以将它们转换为json字符串?
Array
(
[0] => size
[1] => color
)
Array
(
[0] => L
[1] => Black
)
输出结构应为:
[
{"name":"size","value":"L"},
{"name":"color","value":"Black"}
]
谢谢!
答案 0 :(得分:2)
当然:
$array1 = array('size', 'color');
$array2 = array('L', 'Black');
$jsonArray = array();
foreach (array_combine( $array1, $array2 ) as $name => $value) {
$jsonArray[] = array('name' => $name, 'value' => $value);
}
echo $json = json_encode($jsonArray);
这会给你
[{"name":"size","value":"L"},{"name":"color","value":"Black"}]
答案 1 :(得分:0)
这应该有效:
$json = json_encode( array_combine( $array1, $array2 ) );
答案 2 :(得分:0)
$array1 = array('size', 'color');
$array2 = array('L', 'Black');
$result = array_combine($array1 , $array2);
$json = array();
foreach($result as $key => $val){
$json[] = array('name' => $key, 'value' => $value);
}
$json = json_encode($json);
答案 3 :(得分:0)
这样的事情应该如你所愿:
<?php
$keys = array("size", "color");
$values = array("L", "Black");
$array = array();
foreach ($keys as $i => $key) {
$array[] = array(
"name" => $key,
"value" => $values[$i]
);
}
$json = json_encode($array);
var_dump($json);
//string(62) "[{"name":"size","value":"L"},{"name":"color","value":"Black"}]"
?>
答案 4 :(得分:0)
我认为你正在寻找这个:
$array1 = array('size', 'color');
$array2 = array('L', 'Black');
for($i=0;$i<sizeof($array1);$i++)
{
$array3[]=array($array1[$i]=>$array2[$i]);
}
echo json_encode($array3);
?>
输出:
[{&#34; size&#34;:&#34; L&#34;},{&#34; color&#34;:&#34; Black&#34;}]