백엔드 개발 PHP 튜토리얼 Torchlight에는 몇 개의 레이어가 있습니까? PHP 단순 객체 및 배열 변환 함수 코드 PHP 다중 레이어 배열 및 객체 변환

Torchlight에는 몇 개의 레이어가 있습니까? PHP 단순 객체 및 배열 변환 함수 코드 PHP 다중 레이어 배열 및 객체 변환

Jul 29, 2016 am 08:45 AM

코드 복사 코드는 다음과 같습니다.


function arrayToObject($e){
if( gettype($e)! ='배열' ) return;
foreach($e as $k=>$v){
if( gettype($v)=='array' || getType($v)=='object ' )
$e[$k]=(object)arrayToObject($v)
}
return (object)$e
}
function objectToArray($e) 🎜>$ e=(array)$e;
foreach($e as $k=>$v){
if( gettype($v)=='resource' )
if; ( gettype( $v)=='객체' || gettype($v)=='배열' )
$e[$k]=(array)objectToArray($v)
}
return $e ;
}

위 내용은 cnblogs jaiho에서 가져온 것입니다
PHP 다층 배열 및 객체 변환
다층 배열 및 객체 변환의 목적은 매우 간단하고 처리하기 쉬운 다층 배열 및 객체의 WebService 변환
단순(배열)과 (객체)는 단일 계층 데이터만 처리할 수 있고 다층 배열 및 객체 변환에 대해서는 아무 것도 할 수 없습니다.
객체는 json_decode(json_encode($object)를 통해 한 번에 배열로 변환할 수 있지만 객체에서 UTF-8로 인코딩되지 않은 ASCII 문자가 아닌 gbk 중국어와 같은 문자를 만날 때 문제가 발생합니다. json_encode 및 decode의 성능을 언급하는 것도 의심해볼 만합니다
아래 코드:

코드 복사 코드는 다음과 같습니다

<?php
function objectToArray($d) {
if (is_object($d)) {
// get_object_vars를 사용하여 주어진 객체의 속성을 가져옵니다
// function
$d = get_object_vars($d) ;
}
if (is_array($d)) {
/*
* 객체로 변환된 배열 반환
* __FUNCTION__ 사용( 매직 상수)
* 재귀 호출의 경우
*/
return array_map(__FUNCTION__, $d)
}
else {
// Return array
return $d;
}
}
function arrayToObject($d) {
if (is_array($d)) {
/*
* 객체로 변환된 배열 반환
* __FUNCTION__ 사용 (마법 상수)
* 재귀 호출의 경우
*/
return (객체) array_map(__FUNCTION__, $d)
}
else {
// 객체 반환
return $d;
}
}
// 사용법:
// 새 stdClass 객체 생성
$init = new stdClass
// 테스트 데이터 추가
$ init->foo = "테스트 데이터";
$init->bar = new stdClass;
$init->bar->baaz = "테스트 중"; bar->fooz = new stdClass;
$init->bar->fooz->baz = "다시 테스트 중";
$init->foox = "테스트만 합니다"; // 배열을 객체로 변환한 다음 객체를 다시 배열로 변환
$array = objectToArray($init)
$object = arrayToObject($array)
// 객체 및 배열 인쇄
print_r( $init);
print_r($array);
print_r($object)



위는 Torch Light에 몇 개의 레이어가 있는 PHP 단순 개체 및 배열의 ​​변환 함수 코드를 소개하고, Torch Light에 몇 개의 레이어가 있는지를 포함하여 PHP 다중 레이어 배열 및 개체의 변환을 소개합니다. PHP 튜토리얼에 관심이 있으면 도움을 받을 수 있습니다.


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

뜨거운 기사 태그

메모장++7.3.1

메모장++7.3.1

사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전

SublimeText3 중국어 버전

중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기

스튜디오 13.0.1 보내기

강력한 PHP 통합 개발 환경

드림위버 CS6

드림위버 CS6

시각적 웹 개발 도구

SublimeText3 Mac 버전

SublimeText3 Mac 버전

신 수준의 코드 편집 소프트웨어(SublimeText3)

11 최고의 PHP URL 쇼트너 스크립트 (무료 및 프리미엄) 11 최고의 PHP URL 쇼트너 스크립트 (무료 및 프리미엄) Mar 03, 2025 am 10:49 AM

11 최고의 PHP URL 쇼트너 스크립트 (무료 및 프리미엄)

Laravel의 플래시 세션 데이터로 작업합니다 Laravel의 플래시 세션 데이터로 작업합니다 Mar 12, 2025 pm 05:08 PM

Laravel의 플래시 세션 데이터로 작업합니다

Laravel Back End : Part 2, React가있는 React 앱 구축 Laravel Back End : Part 2, React가있는 React 앱 구축 Mar 04, 2025 am 09:33 AM

Laravel Back End : Part 2, React가있는 React 앱 구축

Laravel 테스트에서 단순화 된 HTTP 응답 조롱 Laravel 테스트에서 단순화 된 HTTP 응답 조롱 Mar 12, 2025 pm 05:09 PM

Laravel 테스트에서 단순화 된 HTTP 응답 조롱

PHP의 컬 : REST API에서 PHP Curl Extension 사용 방법 PHP의 컬 : REST API에서 PHP Curl Extension 사용 방법 Mar 14, 2025 am 11:42 AM

PHP의 컬 : REST API에서 PHP Curl Extension 사용 방법

Codecanyon에서 12 개의 최고의 PHP 채팅 스크립트 Codecanyon에서 12 개의 최고의 PHP 채팅 스크립트 Mar 13, 2025 pm 12:08 PM

Codecanyon에서 12 개의 최고의 PHP 채팅 스크립트

라 라벨에서 알림 라 라벨에서 알림 Mar 04, 2025 am 09:22 AM

라 라벨에서 알림

2025 PHP 상황 조사 발표 2025 PHP 상황 조사 발표 Mar 03, 2025 pm 04:20 PM

2025 PHP 상황 조사 발표

See all articles