루프를 사용하지 않고 PHP에서 문자열을 다차원 배열로 변환하려면 어떻게 해야 합니까?

Patricia Arquette
풀어 주다: 2024-10-29 19:14:30
원래의
693명이 탐색했습니다.

How can I transform a string into a multidimensional array in PHP without using loops?

루프 없이 PHP에서 다차원 배열 구문 분석

PHP에서는 현명한 루프를 사용하지 않고 문자열을 다차원 배열로 분할하는 것이 가능합니다. PHP의 배열 함수를 사용합니다.

해결책:

다음 코드 조각은 문자열을 "A,5|B,3|C, 루프를 사용하지 않고 8"을 다차원 배열로 변환:

<code class="php">$str = "A,5|B,3|C,8";

$a = array_map(
    function ($substr) {
        return explode(',', $substr);
    },
    explode('|', $str)
);

var_dump($a);</code>
로그인 후 복사

설명:

  1. 먼저 문자열 "A,5|B,3|C ,8"은 구분 기호 '|'가 있는 분해 함수를 사용하여 하위 문자열 배열로 분할됩니다.
  2. 그런 다음 array_map 함수를 사용하여 각 하위 문자열을 반복하고 다음을 사용하여 두 값의 배열로 다시 분할합니다. delimiter ','.
  3. 결과 배열 $a에는 입력 문자열의 다차원 표현이 포함됩니다. 여기서 첫 번째 차원은 각 하위 문자열을 나타내고 두 번째 차원은 두 값을 보유합니다.

출력 예:

array
  0 =>
    array
      0 => 'A'
      1 => '5'
  1 =>
    array
      0 => 'B'
      1 => '3'
  2 =>
    array
      0 => 'C'
      1 => '8'
로그인 후 복사

참고:

어떤 경우에는 array_map이 수동 루프보다 빠를 수 있지만 다음 사항에 유의하는 것이 중요합니다. 여전히 내부적으로 루프가 포함되어 있습니다. 그러나 함수가 제공하는 추상화 덕분에 코드에서 명시적인 루프가 필요하지 않습니다.

위 내용은 루프를 사용하지 않고 PHP에서 문자열을 다차원 배열로 변환하려면 어떻게 해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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