php 中的 array_flip() 函数,可以將数组中对应的键与值的位置进行交换来形成一个新数组。array_flip() 函数的具体使用方法可以参考下面的文章。

php array_flip() 函数

array_flip():交换数组中键与值的位置,并形成一个新的数组!

语法:

array_flip ( array )

参数:array 为一个要操作的数组!

注意:

1、array_flip() 函数操作数组中的值必须为合法的键名,比如 integer 或 string 类型,如果值的类型不对则发出警告,并且不会转换

2、array_flip() 函数操作的数组中,如果同一个值出现了多次,则最后一个键名做为交换,其它的则会被丢弃!

array_flip() 函数的使用方法

例1:php 普通数组中的键与值的交换方法

$arr = array('a','b',1,3,4,'c','feiniaomy.com');
print_r(array_flip($arr));

输出结果:

Array
(
    [a] => 0
    [b] => 1
    [1] => 2
    [3] => 3
    [4] => 4
    [c] => 5
    [feiniaomy.com] => 6
)

例2:php自定义键名的数组的键与值的交换

$arr = array(
    'name' => 'mochu',
    'host' => 'feiniaomy.com',
    'age'  => '18'
);
print_r(array_flip($arr));

输出结果:

Array
(
    [mochu] => name
    [feiniaomy.com] => host
    [18] => age
)

例3:php多个相同值的数组键与值的交换

$arr = array(
    'name' => 'mochu',
    'host' => 'feiniaomy.com',
    'hos2' => 'feiniaomy.com',
    'hos3' => 'feiniaomy.com',
    'age'  => '18'
);
print_r(array_flip($arr));

输出结果:

Array
(
    [mochu] => name
    [feiniaomy.com] => hos3
    [18] => age
)

注意:如果 array_flip() 操作的数组有多个相同的值,则相同的值只取最后一个进行交换,其它的会被丢弃!