PHP를 사용하여 JSON용 어레이를 만드는 방법
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 g-m-a-i-l dot c-o-m
복잡한 네스트 어레이도 처리할 수 있습니다(필요한 경우).
다음과 같이 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"}]
php에서 json을 생성할 때마다 가장 좋은 방법은 먼저 Associative 배열의 값을 변환하는 것입니다.
그 후, 간단하게 부호화해 주세요.json_encode($associativeArray)
php에서 json을 만드는 가장 좋은 방법이라고 생각합니다.왜냐하면 우리가 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가 제공하는 솔루션의 도움을 받을 수 있습니다.다음 행은 포어치 루프 안에 배치됩니다.
$array[] = array('power' => trim("Some value"), 'time' => "time here" );
그리고 json 인코딩 함수로 어레이를 인코딩합니다.
json_encode(array('newvalue'=> $array), 200)
이 한 줄만 입력하면 json 배열이 나타납니다.
echo json_encode($array);
보통 사용하는 것은json_encode
ios 또는 Android 앱에서 데이터를 읽습니다. 따라서 정확한 json 배열 이외에는 에코하지 마십시오.
나는 조잡하고 단순한 json을 만들었다.내 코드에 사용할 OBJ 클래스.PHP에는 JavaScript/Node와 같은 json 함수는 포함되어 있지 않습니다.다른 방법으로 반복해야 하지만 도움이 될 수도 있습니다.
<?php
// define a JSON Object class
class jsonOBJ {
private $_arr;
private $_arrName;
function __construct($arrName){
$this->_arrName = $arrName;
$this->_arr[$this->_arrName] = array();
}
function toArray(){return $this->_arr;}
function toString(){return json_encode($this->_arr);}
function push($newObjectElement){
$this->_arr[$this->_arrName][] = $newObjectElement; // array[$key]=$val;
}
function add($key,$val){
$this->_arr[$this->_arrName][] = array($key=>$val);
}
}
// create an instance of the object
$jsonObj = new jsonOBJ("locations");
// add items using one of two methods
$jsonObj->push(json_decode("{\"location\":\"TestLoc1\"}",true)); // from a JSON String
$jsonObj->push(json_decode("{\"location\":\"TestLoc2\"}",true));
$jsonObj->add("location","TestLoc3"); // from key:val pairs
echo "<pre>" . print_r($jsonObj->toArray(),1) . "</pre>";
echo "<br />" . $jsonObj->toString();
?>
유언 출력:
Array
(
[locations] => Array
(
[0] => Array
(
[location] => TestLoc1
)
[1] => Array
(
[location] => TestLoc2
)
[2] => Array
(
[location] => TestLoc3
)
)
)
{"locations":[{"location":"TestLoc1"},{"location":"TestLoc2"},{"location":"TestLoc3"}]}
반복하려면 일반 개체로 변환합니다.
$myObj = $jsonObj->toArray();
그 후, 다음과 같이 입력합니다.
foreach($myObj["locations"] as $locationObj){
echo $locationObj["location"] ."<br />";
}
출력:
Test Loc 1
Test Loc2
Test Loc3
직접 액세스:
$location = $myObj["locations"][0]["location"];
$location = $myObj["locations"][1]["location"];
실제적인 예:
// return a JSON Object (jsonOBJ) from the rows
function ParseRowsAsJSONObject($arrName, $rowRS){
$jsonArr = new jsonOBJ($arrName); // name of the json array
$rows = mysqli_num_rows($rowRS);
if($rows > 0){
while($rows > 0){
$rd = mysqli_fetch_assoc($rowRS);
$jsonArr->push($rd);
$rows--;
}
mysqli_free_result($rowRS);
}
return $jsonArr->toArray();
}
언급URL : https://stackoverflow.com/questions/6739871/how-to-create-an-array-for-json-using-php
'sourcecode' 카테고리의 다른 글
사전 키 이름 바꾸기 (0) | 2022.09.25 |
---|---|
Javascript는 PHP 폭발()에 상당합니다. (0) | 2022.09.25 |
정수를 선행 0 문자열로 포맷하는 가장 좋은 방법? (0) | 2022.09.24 |
Android - 사용자 정의(복합) 구성 요소 작성 (0) | 2022.09.24 |
.htaccess에서 cors를 유효하게 하다 (0) | 2022.09.24 |