>  기사  >  백엔드 개발  >  루프를 사용하지 않고 PHP에서 \"A,5|B,3|C,8\"과 같은 문자열을 다차원 배열로 분할하려면 어떻게 해야 합니까?

루프를 사용하지 않고 PHP에서 \"A,5|B,3|C,8\"과 같은 문자열을 다차원 배열로 분할하려면 어떻게 해야 합니까?

DDD
DDD원래의
2024-10-30 02:10:02877검색

How can I split a string like

PHP에서 루프 없이 문자열을 다차원 배열로 분리

PHP에서 문자열을 조작할 때 문자열을 더 작은 덩어리로 나누거나 특정 데이터를 추출합니다. 일반적인 작업 중 하나는 문자열을 다차원 배열로 분할하는 것입니다. 이는 정보를 구성하고 구조화하는 데 도움이 될 수 있습니다.

질문:

"A"와 같은 문자열을 어떻게 분할합니까? ,5|B,3|C,8"을 루프를 사용하지 않고 PHP의 다차원 배열로 변환하시겠습니까?

해결책:

질문에서는 루프를 피하고 문자열을 분할하는 것을 제안하지만 일반적으로 어떤 형태의 반복이 필요합니다. 그러나 PHP에 내장된 기능을 활용하여 프로세스를 간소화할 수 있습니다.

다음 코드를 고려하세요.

<code class="php"><?php

$str = "A,5|B,3|C,8";

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

var_dump($a);

?></code>

이 코드에서는 array_map을 사용하여 명시적인 작업 없이 목표를 달성합니다. 루프. 작동 방식은 다음과 같습니다.

  • explode('|', $str)는 원래 문자열을 하위 문자열 배열로 분할하고 파이프(|) 구분 기호로 구분합니다.
  • array_map 그런 다음 각 하위 문자열에 익명 함수(fn)를 적용합니다. 이 함수는explode(',', $substr)를 사용하여 하위 문자열을 쉼표(,) 구분 기호로 배열로 추가로 분할합니다.

이렇게 하면 각 하위 배열이 다음의 결과인 다차원 배열이 효과적으로 생성됩니다. 원래 부분 문자열을 쉼표로 분할합니다.

결과 $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)

이 방법을 사용하면 매뉴얼을 작성하지 않고도 문자열을 다차원 배열로 효율적으로 분리할 수 있습니다. 루프.

위 내용은 루프를 사용하지 않고 PHP에서 \"A,5|B,3|C,8\"과 같은 문자열을 다차원 배열로 분할하려면 어떻게 해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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