我想根据字长对具有字符串值( word )的数组元素进行排序。我正在执行插入排序:
$str="welcome to php";
$st=explode(" ",$str);
$a=count($st);
for($i=0;$i<$a;$i++)
{
for($j=0;$j<$a;$j++)
{
if(strlen($st[$j])<strlen($st[$j+1]))
{$t=$st[$j];
$st[$j]=$st[$j+1];
$st[$j+1]=$t;}
}}所以问题是$st[$j+1]。它不会得到数组的下一个值。它给出未定义的偏移量。如何获得数组的下一个值?
发布于 2014-11-01 20:22:12
您可以使用php的usort函数定义自己的比较函数。
请参阅http://php.net/manual/en/function.usort.php
因此,您所要做的就是编写您自己的函数,根据字符串的长度来比较它们,然后调用usort并传递您的函数。
https://stackoverflow.com/questions/26692790
复制相似问题