在使用从右到左支持的 PHP 开发网站时,我遇到了一个奇怪的问题。
看看下面这两个屏幕截图。
首先是正常输出。
第二个带有 RTL 数据显示。
如您所见,数据不是按页码顺序显示的。
在正常输出中,数字显示为 32,然后是 43,然后是 67、88 和 325。但是,在从右到左的输出中,数字按升序显示。相反,它们输出:首先是 32,然后是 88、67、43 等。
对于上述输出(显示在这些屏幕截图中),我使用了以下代码:
aasort($index['Book']['Index'],"page_number");
foreach($index['Book']['Index'] as $newIndex) :
$indLink = stripslashes($newIndex['content']);
$indPageNumberLink = $newIndex['page_number'];
$booksIndex .= " <span>". $indPageNumberLink ." (". $indLink ."). </span>";
endforeach;
echo "<dd class='bookindex_content'> ". rtrim($booksIndex,",") ."</dd></dl>";
这是我的aasort
功能:
function aasort (&$array, $key)
{
$sorter = array();
$ret = array();
reset($array);
foreach ($array as $ii => $va)
{
$sorter[$ii]=$va[$key];
}
asort($sorter);
foreach ($sorter as $ii => $va)
{
$ret[$ii]=$array[$ii];
}
$array=$ret;
}
简而言之,这就是问题所在:数字都是按升序输出的,除非我从右到左工作。
对此有何解释?我究竟做错了什么。