>백엔드 개발 >PHP 문제 >PHP 배열 학습: 키 이름과 값의 위치를 ​​바꾸는 방법

PHP 배열 학습: 키 이름과 값의 위치를 ​​바꾸는 방법

青灯夜游
青灯夜游원래의
2021-08-25 14:34:343451검색

이전 글 "PHP 배열 학습: 2차원 배열 정렬 방법(2가지 방법)"에서 특정 분야를 기준으로 2차원 배열을 정렬하는 두 가지 방법에 대해 배웠습니다. 살펴보세요~

→관련 추천 : PHP 배열 학습 시리즈 요약(지속적으로 업데이트~)

이번 글의 주제는 "키 이름과 값의 위치 교환" 으로 쉽게 말하면, 배열의 키 이름과 키 값을 교환합니다.

이 작업을 위해 PHP에는 이 기능이 내장된 함수, 즉 array_flip($array) 함수가 있습니다. array_flip($array) 函数。

我们通过下面的例子来具体看看

<?php
$arr = array(&#39;a&#39;, &#39;b&#39;, &#39;1&#39;, 2, 3);
var_dump($arr);
var_dump(array_flip($arr));
?>

输出结果:

PHP 배열 학습: 키 이름과 값의 위치를 ​​바꾸는 방법

说明:$array数组中的值需要能够作为合法的键名(例如 int 或者 string),如果值的类型不对将发出一个警告,并且有问题的键值对将不会反转。

如果同一个键值出现了多次,那么最后一个键名将作为它的值,所有其他的都丢失了。

<?php
$arr = array("a" => 1, "b" => 1, "c" => 2);
var_dump($arr);
var_dump(array_flip($arr));
?>

输出结果:

PHP 배열 학습: 키 이름과 값의 위치를 ​​바꾸는 방법

可以看出:利用array_flip()可以非常快速的交换键名和键值。那么如果不使用array_flip()函数,要怎么交换键名和键值呢?下面给大家介绍一下。

思路:

  • 首先使用array_keys($array)获得数组中的键名,返回一个键名数组;

  • 然后使用array_values($array)获取数组中所有元素的值,返回一个键值数组;

  • 最后使用array_combine($keys,$values)다음 예시를 통해

    <?php
    $arr = array(&#39;a&#39;, &#39;b&#39;, &#39;1&#39;, 2, 3,&#39;c&#39;);
    var_dump($arr);
    
    //获取全部键名
    $keys=array_keys($arr);
    //获取全部键值
    $values=array_values($arr);
    $flip=array_combine($values,$keys);
    
    var_dump($flip);
    ?>

    출력 결과를 자세히 살펴보겠습니다.

  • PHP 배열 학습: 키 이름과 값의 위치를 ​​바꾸는 방법

참고: $array 배열의 값은 유효한 키 이름(예: int 또는 string)이어야 합니다. 정확하지 않으면 경고가 표시되고 문제의 키-값 쌍은 취소되지 않습니다.

동일한 키 값이 여러 번 나타나는 경우 마지막 키 이름이 해당 값으로 사용되고 나머지는 모두 손실됩니다.

<?php
header("content-type:text/html;charset=utf-8");
$arr = array(&#39;a&#39;, &#39;b&#39;, &#39;1&#39;, 2, 3,&#39;1&#39;);
var_dump($arr);

//获取全部键名
$keys=array_keys($arr);
//获取全部键值
$values=array_values($arr);
$flip=array_combine($values,$keys);

var_dump($flip);
?>

출력 결과: PHP 배열 학습: 키 이름과 값의 위치를 ​​바꾸는 방법

3. png

array_flip()을 사용하면 키 이름과 키 값을 매우 빠르게 교환할 수 있음을 알 수 있습니다. 그러면 array_flip() 함수를 사용하지 않는 경우 키 이름과 키 값을 어떻게 교환합니까? 아래에서 소개해드리겠습니다.

아이디어: PHP 배열 학습: 키 이름과 값의 위치를 ​​바꾸는 방법

위 내용은 PHP 배열 학습: 키 이름과 값의 위치를 ​​바꾸는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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