>  기사  >  백엔드 개발  >  루프 없이 PHP에서 문자열을 다차원 배열로 효율적으로 분할하는 방법은 무엇입니까?

루프 없이 PHP에서 문자열을 다차원 배열로 효율적으로 분할하는 방법은 무엇입니까?

Susan Sarandon
Susan Sarandon원래의
2024-10-31 03:41:01156검색

How to Efficiently Split a String into a Multidimensional Array in PHP Without Loops?

문자열 조작: 문자열을 다차원 배열로 효율적으로 분할

문자열을 다차원 배열로 분할하는 것은 프로그래밍에서 일반적인 작업입니다. 전통적인 접근 방식은 이를 달성하기 위해 반복 루프에 의존하는 경우가 많습니다. 그러나 PHP는 효율적인 루프리스 솔루션을 제공합니다.

"A,5|B,3|C,8"과 같은 문자열의 경우 작업은 이를 다음과 같은 다차원 배열로 변환하는 것입니다.

[
    ['A', 5],
    ['B', 3],
    ['C', 8],
]

해결책에는Explode()와 array_map()의 기능을 결합하는 것이 포함됩니다. 작동 방식은 다음과 같습니다.

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

// Split the string into individual parts based on the pipe symbol
$parts = explode('|', $str);

// Use array_map() to transform each part into an array
$a = array_map(
    function ($substr) {
        // Explode each part again to separate the values
        return explode(',', $substr);
    },
    $parts
);

array_map()과 폭발()을 결합하면 개별 부분에 대한 루프가 내장 함수 내에 캡슐화되므로 코드에서 명시적인 루프가 필요하지 않습니다.

결과 $a 배열은 원하는 다차원 배열이 되며, 각 요소는 원래 문자열의 일부를 나타내는 배열로 분할됩니다. 소유:

var_dump($a);

array
  0 => 
    array
      0 => string 'A' (length=1)
      1 => string '5' (length=1)
  1 => 
    array
      0 => string 'B' (length=1)
      1 => string '3' (length=1)
  2 => 
    array
      0 => string 'C' (length=1)
      1 => string '8' (length=1)</code>

위 내용은 루프 없이 PHP에서 문자열을 다차원 배열로 효율적으로 분할하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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