> 백엔드 개발 > PHP 문제 > PHP 배열을 JS 배열로 변환하는 방법

PHP 배열을 JS 배열로 변환하는 방법

藏色散人
풀어 주다: 2023-03-08 13:54:02
원래의
2942명이 탐색했습니다.

PHP 배열을 JS 배열로 변환하는 방법: 1. "foreach($arr as $value){//loop body code}" 구문을 사용하여 foreach 문을 사용하여 배열을 탐색합니다. 2. 루프에서 본문에서 json_encode()를 사용하여 배열의 각 값은 "json_encode($value)" 구문으로 json으로 인코딩됩니다. 3. 접합 문자 "."를 사용하여 각 컴파일된 값 뒤에 쉼표를 추가합니다. " 모든 값 외부에는 기호만 있습니다.

PHP 배열을 JS 배열로 변환하는 방법

이 문서의 운영 환경: Windows 7 시스템, PHP8, Dell G3 컴퓨터.

JSON 사용법: PHP 배열을 JS 배열로 변환, JS는 어떻게 PHP 배열을 수신합니까

먼저 다음 파일을 다운로드하고(다른 사람이 json을 구문 분석하기 위해 특별히 작성한 코드 조각입니다) 이 파일을 가져옵니다!

http://pan.baidu.com/s/1dD8qVr7

이제 배경과 상호 작용하기 위해 ajax를 사용해야 할 때 php 배열을 js 파일로 전송하고 js에서 인식하도록 하는 방법은 무엇입니까?

먼저 php 파일을 살펴보겠습니다. $arr 배열을 얻으면

foreach ($arr as $value) {
  $json .= json_encode($value) . ',';
} 
echo '[' . substr($json,0,strlen($json) - 1) . ']';
로그인 후 복사

json_encode()는 $arr의 각 값을 json으로 인코딩한 다음 json 배열을 출력하려고 하므로 각 Add를 컴파일합니다. 값 뒤에 쉼표를 추가하고 마지막으로 모든 값 외부에 '[]'를 추가합니다. 이는 json 배열의 형식입니다. 각 값이 json으로 인코딩된 후에 쉼표를 추가하면 결과적으로 모두 쉼표가 추가됩니다. 값이 배열로 결합되므로 마지막 쉼표를 제거하려면 substr() 함수를 사용해야 합니다!

그러면 js 파일을 살펴보겠습니다

php 파일에서 전송된 json 배열을 받기 위해 arr을 사용할 때

var json = JSON.parse(arr);
로그인 후 복사

JSON은 다운로드를 시작할 때 해당 파일에 정의된 객체입니다. json 배열을 파싱하고 js 배열로 변환하세요! 이는 js 배열을 받는 변수 json이므로 직접 인쇄할 수 없습니다. json 배열이나 json[0]을 순회하여 출력할 수 있습니다!

사실 직설적으로 말하면, PHP 배열을 js 배열로 변환하려는 우리의 아이디어는 이를 달성하기 위해 중간 양의 json을 사용하는 것입니다! 물론, php와 js만 사용하여 배열을 변환할 수도 있습니다. 방법은 두 가지 이상입니다!

PHP 배열과 Json 간의 변환

Json을 사용하는 이유는 ajax 객체 사용 시 프로그램과 JS 함수 간의 데이터 상호 작용 때문인 경우가 많습니다. JS는 PHP의 배열을 인식하지 못하기 때문에 PHP는 JS의 배열이나 객체를 인식하지 못합니다. Json은 이 문제를 매우 잘 해결합니다.

JSON 소개

JSON(JavaScript Object Notation)은 가벼운 데이터 교환 형식입니다. 이는 JavaScript의 하위 집합을 기반으로 하며 이는 JavaScript가 Json을 직접 읽을 수 있다는 것을 의미하며 이는 매우 편리합니다.

Json의 구체적인 형식은 다음과 같습니다.

1. 객체

객체는 "이름/값 쌍"의 순서가 지정되지 않은 모음입니다. 객체는 "{"(왼쪽 대괄호)로 시작하고 "}"(오른쪽 대괄호)로 끝납니다. 각 "이름" 뒤에는 ":"(콜론)이 옵니다. "이름/값" 쌍은 ","(쉼표)로 구분됩니다.

예: {"username": "Eric","age":23,"sex": "man"}

코드 예:

<script type="text/javascript">  function getUser()
{
  var  user = {
  "username": "Eric",
  "age":23,
  "family": {"mother":"Marry","father":"Alon","brother":"Tom"}
  };  alert( user.username );  alert( user.age );  alert(user.family.brother);
}  getUser();  </script>
로그인 후 복사

2, array

배열은 순서가 지정된 값 모음입니다. ​(값) . 배열은 "["(왼쪽 대괄호)로 시작하고 "]"(오른쪽 대괄호)로 끝납니다. 값은 ","(쉼표)로 구분됩니다.

예: ["Eric",23, "man"]

코드 예:

<script type="text/javascript">  function getArray() 
{  
var arr = ["Jarry",23, ["www.xiaophper.com","wxyh_999@126.com"]];  
alert(arr[0]);  alert(arr[1]);  alert(arr[2][0]); 
alert(arr[2][1]);  
}  
getArray();  
</script>
로그인 후 복사

참고: JS에서는 개체와 배열이 다르게 호출됩니다. 개체는 "."으로 호출됩니다. [0]과 [1]. 또한 Json 문자열을 전달할 때 문자열 유형 값은 따옴표로 묶어야 한다는 점에 유의하세요.

PHP에서 배열을 Json으로 변환

강력한 PHP는 이미 내장 함수인 json_encode() 및 json_decode()를 제공합니다. json_encode()가 PHP 배열을 Json으로 변환한다는 것은 이해하기 쉽습니다. 반대로 json_decode()는 Json을 PHP 배열로 변환합니다.

예:

$array = array("name" => "Eric","age" => 23); 
echo json_encode($array);
로그인 후 복사

프로그램은 다음을 인쇄합니다.

코드는 다음과 같습니다.

{"name":"Eric","age":23}

다음 예를 다시 살펴보세요.

$array = array(0 => "Eric", 1 => 23); 
echo json_encode($array);
로그인 후 복사

프로그램은 다음을 인쇄합니다:["Eric",23]

위의 두 예에서 볼 수 있듯이 PHP 배열의 키가 모두 숫자인 경우 json_encode()는 Json을 배열 형식으로 반환합니다. . PHP 배열의 키가 모두 문자열인 경우. 그러면 json_encode()는 Json을 객체 형태로 반환합니다. 방금 말했어요. js의 두 호출은 다릅니다.

사실 PHP 배열의 키에 문자열 형태의 키가 있는 한 json_encode()는 Json을 객체 형태로 반환합니다. 이것은 잘못된 것입니다. 왜냐하면 PHP 코드에서는 오류가 발생하지 않더라도 그러한 Json을 JS 함수에 전달하면 JS는 Json을 객체로 취급하므로 객체가 숫자를 속성 이름으로 사용할 수 없기 때문입니다. 즉, JS는 이것이 무엇인지 모릅니다: user.0.username (가운데 숫자 0이 있습니다)

[권장: "PHP Video Tutorial"]

위 내용은 PHP 배열을 JS 배열로 변환하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
php
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿