RTL不会按预期显示记录

时间:2013-07-08 05:02:43

标签: php right-to-left dynamic-data-display

我在PHP中使用从右到左的支持开发网站时遇到了一个奇怪的问题。

看看下面这两个截图。

首先是正常输出。

enter image description here

,其次是RTL数据显示。

enter image description here

如您所见,数据不按页码顺序显示。

在正常输出中,数字显示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;
}

简而言之,这就是问题所在:数字全部按升序输出,除非我在“从右到左”工作。

对此有何解释?我做错了什么。

1 个答案:

答案 0 :(得分:0)

我不确定你是如何在你的网站上做左右支持的,我还不能发表评论要求你做一些澄清(除了屏幕截图之外还有一些html输出是有用的)所以我'我试图猜测。

在我看来,您的第二个屏幕截图并未显示您所说的订单。仔细观察括号之间的内容,RTL顺序结果看起来与之前的第5行相同 - 第一行 - 从左到右阅读,但32 (被推到右边并反转,看起来像) 32。第二行有类似的内容:右侧的).向左推到.(

我不明白它是如何混乱的,但它似乎不是一个排序问题,而是与RTL显示相关的布局问题。我会检查PHP的输出是否是带有RTL选项的html所期望的。