📜  PHP | array_flip()函数(1)

📅  最后修改于: 2023-12-03 15:03:36.127000             🧑  作者: Mango

PHP | array_flip()函数

概述

array_flip() 是 PHP 中的一个数组函数,用于交换数组中的键和值。也就是说,原本的键变成了值,原本的值变成了键。同时,如果数组中有重复的值,只会保留最后出现的那个值,其他的会被覆盖。

语法
array_flip(array $array): array

array:必需。要交换键和值的输入数组。如果输入的不是数组或空数组,则返回空数组。

返回值:该函数返回一个新数组,其中原数组中的值变成了新数组中的键,原数组中的键变成了新数组中的值。

示例

下面我们通过几个示例来演示 array_flip() 函数的用法。

示例一:基本用法
// 定义一个数组
$original_array = array("a" => "apple", "b" => "banana", "c" => "cherry");

// 使用 array_flip() 函数交换键和值
$new_array = array_flip($original_array);

// 输出结果
print_r($new_array);

输出结果:

Array
(
    [apple] => a
    [banana] => b
    [cherry] => c
)
示例二:含有重复值
// 定义一个数组
$original_array = array("a" => 1, "b" => 1, "c" => 2, "d" => 3);

// 使用 array_flip() 函数交换键和值
$new_array = array_flip($original_array);

// 输出结果
print_r($new_array);

输出结果:

Array
(
    [1] => b
    [2] => c
    [3] => d
)

可以看到,由于原数组中有两个值为 1 的元素,因此只会保留最后一个,在新数组中 a 对应的 1 被覆盖了。

注意事项
  • array_flip() 函数只能用于处理有唯一值的数组,因为如果原数组中存在相同的值,会出现覆盖的情况。
  • 如果原数组中有非字符串的键或值,会强制转换为字符串。
  • 如果原数组中有重复值,只会保留最后出现的那个值。