我有两个数组,$country
和$redirect
,每个条目都与其完全对应,例如$redirect[1]
和$country[1]
。
在整个数组中取消设置值后,我可能会留下一个仅设置$var[4]
和$var[2]
的数组。我想从0向上重新分配数组键,以便$var[2]
将其密钥重新分配给$var[0]
并将$var[4]
重新分配给$var[1]
。
基本上是sort()
函数,但是按当前数组键排序,与数组的数字/字符串值相对。
这可能吗?
任何答案或建议都将非常感谢;)!
更新
我尝试同时使用ksort()
和array_values()
,但我不确定它们是否真的需要我,因为我打算使用size_of()
功能。< / p>
我的代码:
$var = array(2 => "value_1", 4 => "value_2", 6 => "value_3");
ksort($var);
for($i = 0, $size = sizeof($var); $i < $size; $i++) {
$var[$i] = "foo";
}
var_dump($var);
返回:
array(5) { [2]=> string(3) "foo" [4]=> string(7) "value_2" [6]=> string(7) "value_3" [0]=> string(3) "foo" [1]=> string(3) "foo" }
我将非常感谢有关如何使其发挥作用的任何其他想法/答案!
答案 0 :(得分:2)
使用array_values()
(返回“已排序”数组):
$var = array(2 => "value_1", 4 => "value_2", 6 => "value_3");
$var = array_values($var);
for($i = 0, $size = sizeof($var); $i < $size; $i++) {
$var[$i] = "foo";
}
var_dump($var);