如何使用PHP为JSON创build一个数组?

从PHP代码我想创build一个JSON数组:

[ {"region":"valore","price":"valore2"}, {"region":"valore","price":"valore2"}, {"region":"valore","price":"valore2"} ] 

我该怎么做?

容易peasy柠檬squeezy: http ://www.php.net/manual/en/function.json-encode.php

 <?php $arr = array('a' => 1, 'b' => 2, 'c' => 3, 'd' => 4, 'e' => 5); echo json_encode($arr); ?> 

在前面提到的页面上andyrusterholz at gmail dot com上有一个可以处理复杂的嵌套数组的东西(如果这是你的东西的话)。

使用PHP的本地json_encode ,像这样:

 <?php $arr = array( array( "region" => "valore", "price" => "valore2" ), array( "region" => "valore", "price" => "valore2" ), array( "region" => "valore", "price" => "valore2" ) ); echo json_encode($arr); ?> 

更新 :在评论中回答你的问题。 你这样做:

 $named_array = array( "nome_array" => array( array( "foo" => "bar" ), array( "foo" => "baz" ) ) ); echo json_encode($named_array); 

简单:只需创build一个(嵌套的)PHP数组,并调用json_encode 。 数字数组转换成JSON列表( [] ),关联数组和PHP对象转换为对象( {} )。 例:

 $a = array( array('foo' => 'bar'), array('foo' => 'baz')); $json = json_encode($a); 

给你:

 [{"foo":"bar"},{"foo":"baz"}] 

最好的方式,你应该去在php中创buildjson每一次首先转换ASSOCIATIVE数组中的值。

之后,只需简单地使用json_encode($associativeArray)进行编码。 我认为这是在PHP中创buildjson的最佳方式,因为无论何时我们在php中获取结果表单的sql查询大部分时间,我们都会使用fetch_assoc函数获取值,这也会返回一个关联数组。

 $associativeArray = array(); $associativeArray ['FirstValue'] = 'FirstValue'; 

…等

之后。

 json_encode($associativeArray); 

也可以用于数组,您可以使用短注释:

 $arr = [ [ "region" => "valore", "price" => "valore2" ], [ "region" => "valore", "price" => "valore2" ], [ "region" => "valore", "price" => "valore2" ] ]; echo json_encode($arr); 
 $json_data = '{ "Languages:" : [ "English", "Spanish" ] }'; $lang_data = json_decode($json_data); var_dump($lang_data); 

只要input这一行会给你一个JSON数组,

echo json_encode($array);

通常你使用json_encode从ios或android应用程序读取数据。 所以确保你不要回应除了准确的JSON数组以外的任何东西。