在PHP中,数组是一个非常常用的数据类型,而array_values()函数是PHP中对数组进行操作的一个十分实用的函数。通过使用array_values()函数,可以返回给定数组中所有的值并且重新索引,而不保留原有的键名。
一、基本用法
$arr = array(
'name' => 'Tom',
'age' => 20,
'gender' => 'male'
);
print_r(array_values($arr));
输出结果为:
Array
(
[0] => Tom
[1] => 20
[2] => male
)
可以看到,经过array_values()函数处理后,数组中所有的键名都被去掉,仅仅保留了键值。
二、与foreach结合的使用
array_values()函数通常与foreach结合使用,以便进行数组的遍历操作。
$arr = array(
'name' => 'Tom',
'age' => 20,
'gender' => 'male'
);
foreach(array_values($arr) as $value){
echo $value . "<br>";
}
输出结果为:
Tom
20
male
可以看到,通过使用foreach和array_values()函数,我们可以遍历所有的值。
三、使用array_values()函数改变原有数组
在PHP中,函数通常是不会对原有的数组进行修改的,而是返回一个全新的数组作为输出。但是,使用array_values()函数,则可以改变原有数组。
$arr = array(
'name' => 'Tom',
'age' => 20,
'gender' => 'male'
);
$arr = array_values($arr);
print_r($arr);
输出结果为:
Array
(
[0] => Tom
[1] => 20
[2] => male
)
通过将array_values()函数返回的数组重新赋值给原有数组,我们就实现了改变原有数组。
四、处理多维数组
array_values()函数不仅可以处理一维数组,还可以处理多维数组。
$arr = array(
'name' => 'Tom',
'age' => 20,
'gender' => 'male',
'contacts' => array(
'email' => 'tom@example.com',
'phone' => '123456789'
)
);
print_r(array_values($arr));
输出结果为:
Array
(
[0] => Tom
[1] => 20
[2] => male
[3] => Array
(
[0] => tom@example.com
[1] => 123456789
)
)
通过使用array_values()函数,我们可以获得多维数组中所有的值。
五、结合array_keys()函数使用
使用array_keys()函数可以获取数组中所有的键名。当配合使用array_values()函数时,可以实现对原有数组的重构。
$arr = array(
'name' => 'Tom',
'age' => 20,
'gender' => 'male',
'contacts' => array(
'email' => 'tom@example.com',
'phone' => '123456789'
)
);
$arr = array_combine(array_values($arr), array_keys($arr));
print_r($arr);
输出结果为:
Array
(
[Tom] => name
[20] => age
[male] => gender
[Array] => contacts
)
通过结合使用array_values()和array_keys()函数,我们可以将原有数组的键名和键值互换。
六、总结
在PHP的开发过程中,array_values()函数是一项很实用的工具。通过使用array_values()函数,我们可以获得原有数组中的所有值,并且重新索引,方便遍历操作以及结合其他函数进行更复杂的操作。同时,array_values()函数也可以处理多维数组,具有很高的灵活性。