> 백엔드 개발 > PHP 튜토리얼 > PHP가 원래 배열에 영향을 주기 위해 array_combine 메서드를 사용하는 이유는 무엇입니까?

PHP가 원래 배열에 영향을 주기 위해 array_combine 메서드를 사용하는 이유는 무엇입니까?

WBOY
풀어 주다: 2016-08-04 09:19:29
원래의
1433명이 탐색했습니다.

아래 코드를 살펴보세요.

처리 전 arrTitlearrHref,

두 개의 배열이 있습니다.

arrTitle의 내용은 다음과 같습니다.

PHP가 원래 배열에 영향을 주기 위해 array_combine 메서드를 사용하는 이유는 무엇입니까?

arrHref내용은 다음과 같습니다.

PHP가 원래 배열에 영향을 주기 위해 array_combine 메서드를 사용하는 이유는 무엇입니까?

<code class="php">//将title数组中首元素取出,作为栏目标题
foreach ($arrTitle as &$title) {
    $text [] = $title[0];
    unset($title[0]);
}

//将href数组中首元素取出,作为栏目url
foreach ($arrHref as &$href) {
    $url [] = $href[0];
    unset($href[0]);
}

print_r($arrTitle);
//重新组织title项
$title = array_combine($text, $url);

print_r($arrTitle);die;</code>
로그인 후 복사
로그인 후 복사

위 PHP 코드를 실행하여 제목과 href의 각 항목의 첫 번째 요소를 추출하고 제거합니다. 그러나 array_combine을 실행하기 전에 $arrTitle은 다음과 같습니다.

PHP가 원래 배열에 영향을 주기 위해 array_combine 메서드를 사용하는 이유는 무엇입니까?

그러나

을 실행하면 array_combine은 다음과 같이 됩니다. $arrTitle

PHP가 원래 배열에 영향을 주기 위해 array_combine 메서드를 사용하는 이유는 무엇입니까?

의 마지막 요소가 $arrTitle의 결과가 되는데 array_combine() 함수가 array_combine()를 수정하지 않는 이유는 무엇인가요? $arrTitle

답글 내용:

아래 코드를 살펴보세요.

처리 전

arrTitle,arrHref 두 개의 배열이 있습니다.

의 내용은 다음과 같습니다. arrTitle

PHP가 원래 배열에 영향을 주기 위해 array_combine 메서드를 사용하는 이유는 무엇입니까?

내용은 다음과 같습니다.arrHref

PHP가 원래 배열에 영향을 주기 위해 array_combine 메서드를 사용하는 이유는 무엇입니까?

<code class="php">//将title数组中首元素取出,作为栏目标题
foreach ($arrTitle as &$title) {
    $text [] = $title[0];
    unset($title[0]);
}

//将href数组中首元素取出,作为栏目url
foreach ($arrHref as &$href) {
    $url [] = $href[0];
    unset($href[0]);
}

print_r($arrTitle);
//重新组织title项
$title = array_combine($text, $url);

print_r($arrTitle);die;</code>
로그인 후 복사
로그인 후 복사
위의 PHP 코드를 실행하여 제목과 href의 각 항목의 첫 번째 요소를 추출하고 제거합니다. 그러나

을 실행하기 전에 array_combine은 다음과 같습니다. $arrTitle

PHP가 원래 배열에 영향을 주기 위해 array_combine 메서드를 사용하는 이유는 무엇입니까?그러나

을 실행하고 나면

은 다음과 같이 됩니다. array_combine $arrTitle

PHP가 원래 배열에 영향을 주기 위해 array_combine 메서드를 사용하는 이유는 무엇입니까?

의 마지막 요소가

의 결과가 되는데 $arrTitle 함수가 array_combine()를 수정하지 않는 이유는 무엇인가요? array_combine() $arrTitle

여기 $title은 위 루프의 $title과 이름이 동일합니다. 이름만 변경하세요. PHP에는 블록 범위가 없습니다.

<code>**$title** = array_combine($text, $url);
</code>
로그인 후 복사

이름 중복 문제를 지적해주신 @whyreal님께 감사드리며 해당 버그가 해결되었습니다.

foreach 루프에서는

을 사용하여 배열을 순회하므로 루프가 끝나면

引用方式의 마지막 요소 집합을 가리킵니다. $title $arrTitlePHP에는 블록 수준 범위가 없으므로 $title = array_combine($arr1, $arr2) 이후 $title은 자신이 가리키는

의 마지막 요소 그룹도 수정하여 버그가 발생합니다. .

$arrTitle이 버그를 해결하려면

뒤의 이름을 수정하세요.

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