>백엔드 개발 >PHP 튜토리얼 >PHP 재귀 json 클래스 instance_php 기술

PHP 재귀 json 클래스 instance_php 기술

WBOY
WBOY원래의
2016-05-16 20:29:311138검색

이 기사의 예에서는 PHP 재귀 json 클래스의 구현 방법을 설명합니다. 참고할 수 있도록 모든 사람과 공유하세요.

구체적인 구현 코드는 다음과 같습니다.

코드 복사 코드는 다음과 같습니다.
/*
* @anthor:QD
* @시각 : 2013-09-27
*/
클래스 JSON{
private $Arr = array(); //배열에 전달
//생성자
공개 함수 json($array)
{
if(!is_array($array)) 반환 false
$this->Arr = $배열
}
//메인 함수 분석
공개 함수 MainArr()
{
$arr = $this->Arr; if($this->TypeArr($arr))
{
$json = $this->NumArr($arr)
}
그렇지 않으면
{
$json = $this->IndexArr($arr)
}
$json 반환
}
//인덱스 배열 구문 분석
공개 함수 IndexArr($arr)
{
$str=""
foreach($arr as $k=>$value)
{
if(is_array($value))
{
If($this->TypeArr($value)) { $sun=$this->NumArr($value);}
else else {$sun=$this->IndexArr($value);}
If(strpos($sun,"}") || strpos($sun,"]"))
{
$str .= """.$k."":".$sun.","
}
그렇지 않으면
{
$str .= """.$k."":"".$sun."","
}
}
그렇지 않으면
{
$str .= """.$k."":"".$value."","
}
}
$str = "{".trim($str,",")."}"
$str 반환
}
//숫자 배열 구문 분석
공개 함수 NumArr($arr)
{
$str = ""
foreach($arr를 $value로)
{
if(is_array($value))
{
If($this->TypeArr($value)) { $sun=$this->NumArr($value);}
else else {$sun=$this->IndexArr($value);}
If(strpos($sun,"}") || strpos($sun,"]"))
{
$str .= $sun.","
}
그렇지 않으면
{
$str .= """.$sun."","
}
}
그렇지 않으면
{
$str .= """.$value."","
}
}
$str = "[".trim($str,",")."]"
$str 반환
}
//배열이 숫자로 엄격하게 인덱스되어 있는지 확인
공개 함수 TypeArr($arr)
{
if(array_values($arr) === $arr) return true
거짓을 반환
}
}
?>
이 기사가 모든 사람의 PHP 프로그래밍 설계에 도움이 되기를 바랍니다.

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.