[php] PHP를 사용하여 JSON 배열을 만드는 방법은 무엇입니까?

PHP 코드에서 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 g-m-a-i-l dot c-o-m위에서 언급 한 페이지에는 복잡한 중첩 배열을 처리 할 수 있는 게시물 이 있습니다 (귀하의 경우).


답변

다음 json_encode과 같이 PHP의 native를 사용하십시오 .

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


답변

PHP에서 json을 만들 때마다 가야 할 가장 좋은 방법은 먼저 ASSOCIATIVE 배열의 값을 변환하는 것입니다.

그런 다음 단순히를 사용하여 인코딩하십시오 json_encode($associativeArray). PHP에서 json을 만드는 가장 좋은 방법이라고 생각합니다. 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);


답변

이것이 아래 @tdammers가 제공 한 솔루션의 도움으로 할 수있는 방법입니다. 다음 줄은 foreach 루프 안에 배치됩니다.

$array[] = array('power' => trim("Some value"), 'time' => "time here" );

그런 다음 json encode 함수로 배열을 인코딩하십시오.

json_encode(array('newvalue'=> $array), 200)


답변

이 한 줄만 입력하면 json 배열이 제공됩니다.

echo json_encode($array);

일반적으로 json_encodeiOS 또는 Android 앱에서 데이터를 읽는 데 사용 합니다. 따라서 정확한 json 배열 이외의 다른 것을 반향하지 마십시오.