我正在尝试创建一个应用程序,允许我根据它的值对十进制数进行排序和排序,但是array_flip函数不能翻转字符串和十进制数,
<?php
$myarray = array(1,0.334,-0.334,-1);
//create a copy and sort
$myarray_copy = $myarray;
rsort($myarray_copy);
//reverses key and values
$myarray_copy = array_flip($myarray_copy);
//create result by using keys from sorted values + 1
foreach($myarray as $val)
$myarray2[] = ($myarray_copy[$val]+1);
//print final array
print_r($myarray2);
print_r($myarray);
?>
并且有关于array_flip的警告
警告:array_flip()[function.array-flip]:只能翻转STRING和INTEGER值!在第9行的C:\ xampp \ htdocs \ ranking.php
,你们知道怎么处理这些吗?有什么解决方案吗?
答案 0 :(得分:0)
排序后使用array_walk将每个项目从十进制转换为字符串,如---
function test_alter(&$item1, $key)
{
$item1 = (string)$item1;
}
array_walk($fruits, 'test_alter', 'fruit');
然后翻转它。希望这会有所帮助。