Как создать массив для JSON с использованием PHP?

Из PHP-кода я хочу создать json-массив:

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

Как я могу это сделать?

Легкая лихорадка лисички: 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 которое также может обрабатывать сложные вложенные массивы (если это ваша вещь).

Используйте собственный json_encode PHP, например:

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

Просто: просто создайте (вложенный) массив PHP и вызовите json_encode на нем. Числовые массивы переводятся в списки JSON ( [] ), ассоциативные массивы и объекты PHP преобразуются в объекты ( {} ). Пример:

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

Дает тебе:

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

Лучший способ, который вы должны делать каждый раз для создания json в php, – это сначала преобразовать значения в массив ASSOCIATIVE.

После этого просто кодируйте с помощью json_encode($associativeArray) . Я думаю, что это лучший способ создать json в php, потому что всякий раз, когда мы извлекаем форму sql-запроса в php большую часть времени, мы получаем значения, используя функцию 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); 

Просто набрав эту строку, вы получите массив json,

echo json_encode($array);

Обычно вы используете json_encode для чтения данных из приложения ios или Android. поэтому убедитесь, что вы не повторяете ничего другого, кроме точного массива json.