> 백엔드 개발 > PHP 튜토리얼 > PHP `print_r()` 문자열 출력을 다시 배열로 변환하는 방법은 무엇입니까?

PHP `print_r()` 문자열 출력을 다시 배열로 변환하는 방법은 무엇입니까?

DDD
풀어 주다: 2024-12-02 19:16:16
원래의
736명이 탐색했습니다.

How to Convert a PHP `print_r()` String Output Back into an Array?

배열의 문자열 표현을 다시 배열로 변환하는 방법

PHP에서 print_r()을 사용하여 배열을 인쇄할 때, 이를 시각적으로 형식화된 문자열로 변환합니다. 디버깅에 유용하지만 이 문자열 형식은 배열로 다시 직접 변환할 수 없습니다. 그러나 일부 사용자 정의 구문 분석 논리를 사용하면 원래 배열을 다시 생성할 수 있습니다.

이 변환을 처리하기 위해 사용자 정의 함수인 text_to_array()가 개발되었습니다. 작동 방식은 다음과 같습니다.

문자열 구문 분석:

  • 이 함수는 먼저 주어진 문자열이 "배열"로 시작하는지 확인하여 배열을 나타냅니다.
  • 괄호 안의 배열 내용을 추출합니다.
  • 구분자([, ] 및 =>)는 구문 분석을 용이하게 하기 위해 자리 표시자 문자(#!# 및 #?#)로 대체됩니다.
  • 수정된 배열 콘텐츠는 #!# 구분 기호에서 개별 필드로 분할됩니다.

새 어레이 생성:

  • 의 경우 각 필드에서는 #?# 구분 기호를 사용하여 키와 값을 구분합니다.
  • 키가 비어 있지 않으면 키-값 쌍을 새 배열에 추가합니다.

사용 예:

다음을 고려하세요. array:

$a = ['foo' => 'fooMe'];
로그인 후 복사

print_r()을 사용하여 문자열로 변환한 후 다음을 얻습니다.

Array ( [foo] => fooMe )
로그인 후 복사

이 문자열을 text_to_array() 함수에 전달하면 원래 배열이 생성됩니다.

$b = text_to_array('Array ( [foo] => fooMe )');
print_r($b);
로그인 후 복사

이것은 출력:

Array
(
    [foo] => fooMe
)
로그인 후 복사

이 사용자 정의 구문 분석 논리를 구현하면 인쇄된 문자열 표현에서 배열을 다시 생성할 수 있으므로 디버깅 후에도 배열 기능을 복원할 수 있습니다.

위 내용은 PHP `print_r()` 문자열 출력을 다시 배열로 변환하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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