在php中,关联数组是一种由键值对组成的数组,而索引数组则是一种由整数值作为键的数组。有时候我们可能需要将一个关联数组转换成索引数组,这样可以方便进行一些数组操作。
以下是一些方法可用于把关联数组转换成索引数组:
- array_values() 函数
PHP内置函数array_values()可以返回数组中所有的值,并把它们重新构建为一个新的索引数组。
例子:
$assocArr = array('a' => 'apple', 'b' => 'banana', 'c' => 'cherry');
$indexedArr = array_values($assocArr);
print_r($indexedArr);输出:
立即学习“PHP免费学习笔记(深入)”;
Array
(
[0] => apple
[1] => banana
[2] => cherry
)通过这种方法可以将关联数组的值重新排列成一个新的索引数组,但是由于键名被丢弃了,因此这种方法并不能保留原本的键值对。
- 使用强制类型转换
我们可以将一个数组先转成对象,然后再将其强制转换为数组,这样就可以得到一个新的索引数组。
例子:
$assocArr = array('a' => 'apple', 'b' => 'banana', 'c' => 'cherry');
$indexedArr = (array) $assocArr;
print_r($indexedArr);输出:
立即学习“PHP免费学习笔记(深入)”;
Array
(
[a] => apple
[b] => banana
[c] => cherry
)这种方法同样没有保留原来的键名。
- 手动遍历并构建新数组
这种方法是最直接和灵活的,我们可以手动遍历数组并将其值存储到一个新的索引数组中。
例子:
$assocArr = array('a' => 'apple', 'b' => 'banana', 'c' => 'cherry');
$indexedArr = array();
foreach ($assocArr as $value) {
$indexedArr[] = $value;
}
print_r($indexedArr);输出:
立即学习“PHP免费学习笔记(深入)”;
Array
(
[0] => apple
[1] => banana
[2] => cherry
)这种方法可以保留原来的键名和值,但由于需要手动遍历数组,因此代码比较冗长,不够简洁。
综上所述,我们可以根据具体情况选择具体方法,将关联数组转换成索引数组。无论使用哪种方法,我们都要注意保证代码的可读性和可维护性。











