我有两个数组,$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()
功能。
$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" }
任何关于我如何能得到这个工作的其他想法/答案将非常感激!
使用array_values()
(返回"sorted"数组):
$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);