>  기사  >  백엔드 개발  >  PHP는 배열 키와 값을 교환하기 위해 어떤 기능을 사용합니까?

PHP는 배열 키와 값을 교환하기 위해 어떤 기능을 사용합니까?

青灯夜游
青灯夜游원래의
2022-08-23 19:41:152448검색

php는 "array_flip()" 함수를 사용하여 배열 키와 값을 교환합니다. array_flip() 함수는 배열의 키 이름과 해당 관련 키 값을 교환하는 데 사용됩니다. 구문은 "array_flip(array);"입니다. 교환이 성공하면 교환된 배열이 반환됩니다. 교환이 실패하면 NULL이 반환됩니다.

PHP는 배열 키와 값을 교환하기 위해 어떤 기능을 사용합니까?

이 튜토리얼의 운영 환경: Windows 7 시스템, PHP 버전 8.1, DELL G3 컴퓨터

php는 "array_flip()" 함수를 사용하여 배열 키와 값을 교환합니다.

array_flip() 함수는 배열의 키 이름과 해당 관련 키 값을 역전/교환하는 데 사용됩니다.

array_flip(array);
Parameters Description
array 필수입니다. 키/값 쌍을 반대로 바꿔야 하는 배열을 지정합니다.

반환 값: 반전에 성공하면 반전된 배열이 반환되고, 반전에 실패하면 NULL이 반환됩니다.​

참고: 배열의 값은 유효한 키, 즉 정수 또는 문자열이어야 한다는 점을 기억해야 합니다. 값의 유형이 잘못된 경우 경고가 발생하고 관련 키/값 쌍이 결과에 포함되지 않습니다.


<?php
header(&#39;content-type:text/html;charset=utf-8&#39;); 
$arr=array("a"=>"red","b"=>"green","c"=>"blue","d"=>"yellow");
var_dump($arr);
$result=array_flip($arr);
var_dump($result);
?>

PHP는 배열 키와 값을 교환하기 위해 어떤 기능을 사용합니까?

설명: array_flip() 함수를 사용하여 배열의 중복 요소를 제거하세요

PHP에서 배열의 키 이름(키)은 고유하며 반복적으로 존재하지 않습니다.

이 기능을 사용하면 배열의 두 값이 동일한 경우 배열을 뒤집은 후에도 마지막 키와 값이 유지되므로 간접적으로 배열 중복 제거를 달성할 수 있습니다.

<?php
$arr = array("a"=>"a1","b"=>&#39;b1&#39;,"c"=>"a2","d"=>"a1");
$arr1 = array_flip($arr);
var_dump($arr1);//先反转一次,去掉重复值,输出Array ( [a1] => d [b1] => b [a2] => c )
$arr2 = array_flip($arr1);
var_dump($arr2);//再反转回来,得到去重后的数组,输出Array ( [a] => a1 [b] => b1 [c] => a2 )
$arr3 = array_unique($arr);
var_dump($arr3);//利用php的array_unique函数去重,输出Array ( [a] => a1 [b] => b1 [c] => a2 )
?>

PHP는 배열 키와 값을 교환하기 위해 어떤 기능을 사용합니까?

두 방법의 차이점은 array_flip을 사용하면 반복되는 요소의 마지막 키와 값을 가져오는 반면, array_unique를 사용하면 반복되는 두 요소의 첫 번째 키와 값을 가져오는 것입니다.

지식 확장: 함수를 사용하지 않고도 foreach 문과 빈 배열을 사용하여 배열 키와 값을 교환할 수 있습니다.

<?php
$arr = array("a"=>"a1","b"=>&#39;b1&#39;,"c"=>"a2","d"=>"a1");
var_dump($arr);
$res=[];
foreach($arr as $k=>$v){
	$res[$v]=$k;
}
var_dump($res);
?>

PHP는 배열 키와 값을 교환하기 위해 어떤 기능을 사용합니까?

추천 학습: "PHP 비디오 튜토리얼"

위 내용은 PHP는 배열 키와 값을 교환하기 위해 어떤 기능을 사용합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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