php中的数字字符串数组排序
我有一个php数组,如:php中的数字字符串数组排序,php,arrays,Php,Arrays,我有一个php数组,如: myarr[1] = "1", myarr[2] = "1.233", myarr[3] = "0", myarr[4] = "2.5" 这些值实际上是字符串,但我希望这个数组以数字排序,同时考虑浮点值和保持索引关联 请帮帮我。 感谢使用php函数,并在回调函数中将字符串转换为浮点数进行比较。您可以将字符串转换为实数(浮点数),然后对其进行排序: foreach ($yourArray as $key => $value) { $yourArray[$k
myarr[1] = "1",
myarr[2] = "1.233",
myarr[3] = "0",
myarr[4] = "2.5"
这些值实际上是字符串,但我希望这个数组以数字排序,同时考虑浮点值和保持索引关联
请帮帮我。
感谢使用php函数,并在回调函数中将字符串转换为浮点数进行比较。您可以将字符串转换为实数(浮点数),然后对其进行排序:
foreach ($yourArray as $key => $value) {
$yourArray[$key] = floatval($value);
}
sort($yourArray, SORT_NUMERIC);
您可以使用正常功能。需要第二个参数来告诉您要如何对其进行排序。选择SORT\u NUMERIC
例如:
sort($myarr, SORT_NUMERIC);
print_r($myarr);
印刷品
Array
(
[0] => 0
[1] => 1
[2] => 1.233
[3] => 2.5
)
更新:要维护键值对,请使用(采用相同的参数),例如输出:
Array
(
[3] => 0
[1] => 1
[2] => 1.233
[4] => 2.5
)
使用
输出:
Array ( [2] => 0 [0] => 1 [1] => 1.233 [3] => 2.5 )
Array ( [2] => 0 [0] => 1 [1] => 1.233 [3] => 2.5 )