>백엔드 개발 >PHP 튜토리얼 >마지막 요소 앞에 \', \' 및 \'and\'를 사용하여 배열을 내파하는 방법은 무엇입니까?

마지막 요소 앞에 \', \' 및 \'and\'를 사용하여 배열을 내파하는 방법은 무엇입니까?

DDD
DDD원래의
2024-12-01 06:58:12601검색

How to Implode an Array with

마지막 항목 앞에 "," 및 "and"를 사용하여 배열을 내장

쉼표로 구분된 목록을 사용하여 배열을 문자열로 내장하는 것은 일반적인 작업입니다. 그러나 마지막 항목 앞에 "and"를 추가해야 하는 경우 항상 간단하지는 않습니다.

일반 Implode 함수

implode() 함수를 사용하여 항목의 요소를 연결할 수 있습니다. 지정된 구분 기호를 사용하여 문자열로 배열합니다. 예를 들어, 다음 코드는 음료 이름 배열을 쉼표로 구분된 목록으로 내포합니다.

$listArrau = ['coke', 'sprite', 'fanta'];
$listString = implode(', ', $listArrau);

이렇게 하면 다음 문자열이 생성됩니다.

coke, sprite, fanta

앞에 "and" 추가 마지막 항목

마지막 항목 앞에 "and"를 삽입하려면 내파 프로세스를 수정해야 합니다. 긴 줄 솔루션은 다음과 같습니다.

echo join(' and ', array_filter(array_merge(array(join(', ', array_slice($array, 0, -1))), array_slice($array, -1)), 'strlen'));

이 표현식은 여러 단계로 나뉩니다.

  1. 배열 슬라이스: 두 개의 슬라이스가 만들어집니다. 마지막 항목을 제외한 모든 항목을 가져오고, 다른 항목은 마지막 항목만 가져옵니다.
  2. 병합 조각: 두 조각이 1차원 배열로 병합됩니다.
  3. 배열 필터링: 병합된 배열은 필터링되어 빈 요소를 제거합니다(빈 값이 없는지 확인). 또는 후행 구분 기호).
  4. 배열 결합: 필터링된 배열은 " 및 "를 사용하여 결합됩니다. 구분 기호를 사용하여 원하는 문자열을 생성합니다.

다음은 단계가 구분된 장황한 버전입니다.

$last = array_slice($array, -1);
$first = join(', ', array_slice($array, 0, -1));
$both = array_filter(array_merge(array($first), $last), 'strlen');
echo join(' and ', $both);

이 다단계 접근 방식을 사용하면 항목 수에 관계없이 사례를 처리할 수 있습니다. , 0, 1, 2개 항목을 포함하여 올바르게 표시됩니다.

위 내용은 마지막 요소 앞에 \', \' 및 \'and\'를 사용하여 배열을 내파하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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