有没有办法重新排序数组中的值?例如,我有
Array (
"one" => 0,
"tow" => 0,
"three" => 0,
"four" => 8,
"apple" => 4,
"pink" => 3,
);
并将其转换为
Array (
"one" => 0,
"tow" => 1,
"three" => 2,
"pink" => 3,
"apple" => 4,
"four" => 5,
);
请注意“四个”有更大的值它应该变为5和“apple”& “粉红色”不应该改变
答案 0 :(得分:6)
如此简单......
$source = array('one' => 0, 'tow' => 0, 'three' => 0, 'four' => 8, 'apple' => 4, 'pink' => 3);
asort($source);
$result = array_flip(array_keys($source));
说明:array_keys
会将原始数组的所有键收集为另一个索引数组,而array_flip
只会将这些索引转换为值。 )
答案 1 :(得分:1)
$i = 0;
foreach( $array as $key => $value )
{
$array[$key] = $i;
$i++
}
应该这样做: - )
答案 2 :(得分:0)
您可能正在寻找PHP asort()。