PHP按值对字符串中的数字进行排序

时间:2015-07-26 21:48:14

标签: php arrays string sorting

我找到了许多与数组有关的答案,但它们似乎与我的情况无关。

我有以下代码:

<?php

$xyz="2,8,3";

sort($xyz, SORT_NUMERIC);
echo $xyz;

?>

这给了我:

  

警告:sort()要求参数1为数组,在第6行的/string.php中给出字符串

2,8,3

我想先排序最大的数字。所以希望的回声是:

8,3,2 

有人能提供解决方案吗?

感谢。

1 个答案:

答案 0 :(得分:2)

如错误所示,sort适用于数组。你拥有的是一个字符串。您可以将其转换为数组以对其进行排序,然后如果您想再将其打印出来,请将其重新转换为字符串。如果你想用它做任何其他事情,最好把它留作数组。

<?php
$xyz = "2,8,3";
$arr = explode(',', $xyz);

rsort($arr, SORT_NUMERIC); //Sorts in reverse order, so high to low

$xyz = implode(',', $arr);
echo $xyz;