使用php将数组转换为json数组

使用php将数组转换为json数组,php,jquery,arrays,json,Php,Jquery,Arrays,Json,我有一个PHP数组,如下所示: Array ( [0] => stdClass Object ( [id] => 1 [area] => Arappalayam ) [1] => stdClass Object ( [id] => 2 [area] => Kalavasal ) )

我有一个PHP数组,如下所示:

 Array
(
    [0] => stdClass Object
        (
            [id] => 1
            [area] => Arappalayam
        )

    [1] => stdClass Object
        (
            [id] => 2
            [area] => Kalavasal
        )

)
现在,我需要将此数组转换为Json数组,如下所示:

    $local_source = [
    {
    id: 1,
    area: "Arappalayam"
    }, {
    id: 2,
    area: "Kalavasal"
    }
];
我尝试了以下代码在php中转换json数组

$availableArea = array_slice($areas[0],0);
return json_encode($availableArea);
但它不起作用,有什么想法吗>


结果如下[{“id”:“1”,“区域”:“Arappalayam”},{“id”:“2”,区域:“Kalavasal”}];但是我想要[{id:1,区域:“Arapalayam”},{id:2,区域:“Kalavasal”}]

您不需要使用
阵列拼接()
。只需使用:

json_encode($myArray);

只需使用
json\u编码

$local_source = json_encode($array);
检查文件

当解码回php数组时

$array = json_decode($local_source,true);
(一) 您的
“id”:“1”
而不是
“id”:1
是因为您在PHP中的值实际上是字符串,而不是int。 使用intval()转换它们将产生不同的结果

(二)
不可以。您不能生成
id:
而不是
“id”:
,因为键在标准中是带引号的字符串。此外,还有Javascript保留字可以作为JSON中的关键字。

您可以按照下面给出的PHP示例进行操作

$area = array('0' => array('id' => "1",'area' => 'Arappalayam'),
        '1' => array('id' => "2",'area' => 'Kalavasal')
        );

//callback function to do conversion
function convert($value){

  //convert only ID into integer 
  $value['id'] = intval($value['id']);

  return $value;
}   

$area = array_map('convert',$area); 
echo json_encode($area);

可能重复:结果如下[{“id”:“1”,“区域”:“Arappalayam”},{“id”:“2”,区域:“Kalavasal”}];但是我想要[{id:1,区域:“Arapalayam”},{id:2,区域:“Kalavasal”}];问题是,您不希望属性名被引用,而整数作为字符串?