다차원 배열 json_encode는 배열 대신 객체를 생성합니다.

WBOY
풀어 주다: 2016-07-29 08:58:05
원래의
1372명이 탐색했습니다.

json_encode 함수는 PHP 배열을 인코딩할 수 있으며, 반환 값은 json 형식의 문자열입니다. 다차원 배열을 json_encoding하는 경우 항상 배열 형식({{obj1}, {obj2}, {obj3}} 형식)을 반환한다고 생각했는데 오늘 인터페이스가 반환되었습니다. 배열([{....},{.....},{.....}] 형식) 대신 클라이언트 작업에 불편함을 줍니다. . 코드를 확인한 결과 이전에 다차원 배열의 첫 번째 단위가 삭제되어 다른 반환 결과가 나온 것을 발견했습니다. 아래 코드를 참조하세요.

$arr = array(
<span style="white-space:pre">	</span>0=>array('name'=>'张三','age'=>'120'),
<span style="white-space:pre">	</span>1=>array('name'=>'李四','age'=>'111'),
<span style="white-space:pre">	</span>2=>array('name'=>'王五','age'=>'233')
);


$res = json_encode($arr);
echo "<script>console.log(&#39;$res&#39;);</script>";
로그인 후 복사
결과는 다음과 같습니다.

다차원 배열 json_encode는 배열 대신 객체를 생성합니다.

첫 번째 인덱스를 제거한 후 다시 살펴보기:

$arr = array(
	0=>array('name'=>'张三','age'=>'120'),
	1=>array('name'=>'李四','age'=>'111'),
	2=>array('name'=>'王五','age'=>'233')
);

unset($arr[0]); 
$res = json_encode($arr);
echo "<script>console.log(&#39;$res&#39;);</script>";
로그인 후 복사

다차원 배열 json_encode는 배열 대신 객체를 생성합니다.

해결 방법은 정렬 기능을 사용하여 다시 색인을 생성하는 것입니다.

$arr = array(
	0=>array('name'=>'张三','age'=>'120'),
	1=>array('name'=>'李四','age'=>'111'),
	2=>array('name'=>'王五','age'=>'233')
);

unset($arr[0]); 
sort($arr);
$res = json_encode($arr);
echo "<script>console.log(&#39;$res&#39;);</script>";
로그인 후 복사

다차원 배열 json_encode는 배열 대신 객체를 생성합니다.

글쎄요... 블로그에 쓸 가치는 없을 것 같습니다. 스스로에게 상기시켜주세요

위 내용은 다차원 배열 json_encode 이후에 배열 대신 객체를 생성하는 문제를 소개하며, PHP 튜토리얼에 관심이 있는 친구들에게 도움이 되기를 바랍니다.

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