简体   繁体   English

php数组合并并转换为json

[英]php array merge and convert to json

I have two arrays (below). 我有两个数组(下图)。 Is it possible to convert them into json string? 是否可以将它们转换为json字符串?

Array
        (
            [0] => size
            [1] => color
        )
Array
        (
            [0] => L
            [1] => Black
        )

Output structure should be: 输出结构应该是:

[
   {"name":"size","value":"L"},
   {"name":"color","value":"Black"}
]

Thanks! 谢谢!

Sure: 当然:

$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);

This gives you 这给了你

[{"name":"size","value":"L"},{"name":"color","value":"Black"}]

这应该工作:

$json = json_encode( array_combine( $array1, $array2 ) );
    $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);

Something like this should work just how you want: 像这样的东西应该按照你想要的方式工作:

<?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"}]"
?>

I think you are looking for this: 我想你正在寻找这个:

$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);

?>

Output: 输出:

[{"size":"L"},{"color":"Black"}] [{ “大小”: “L”},{ “颜色”: “黑色”}]

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM