用PHP定位/订购div

时间:2011-09-19 11:41:50

标签: php sql-order-by sorting

我正在寻找用PHP重新排序div位置

我的html结构是这样的

<div id="position">1,2,3,4,5</div>

    <div id="1">1</div>
    <div id="2">2</div>
    <div id="3">3</div>
    <div id="4">4</div>
    <div id="5">5</div>

上面,

'<div id="position"><php $layout ?></div>'

定义

<div id="position">1,2,3,4,5</div>

我想要的是

<div id="position">5,2,3,1,4</div>

按照这样的相对顺序排列div

<div id="5">5</div>
<div id="2">2</div>
<div id="3">3</div>
<div id="1">1</div>
<div id="4">4</div>

基本上我想按照数组中的div id进行排序。

由于

3 个答案:

答案 0 :(得分:1)

您可以执行以下操作:

$numbers = "5,2,3,1,4";
$order = explode(',',$numbers);
foreach ($order as $i){
    echo "<div id=\"$i\">$i</div>";
}

答案 1 :(得分:1)

您的问题很不清楚,因为您尚未说明所需订单是如何进入您的计划的。

但基本上你有两个选择(可以合并)。在任何一种情况下,你都将你的id保存在PHP数组中,并且:或者

  • 使用'usort'和自定义订购功能从某个地方获取订单,或
  • 在数组中使用显式键,并使用'ksort'按键排序。#

答案 2 :(得分:0)

PHP实际上并不设计或格式化任何视觉效果。它只是一种处理和输出所需数据的语言。

对于您的解决方案,您可能需要这个,但这实际上取决于您的情况 - 也许您可以详细说明?

$divs = array(1,2,3,4,5);

// Here you could reverse them by $divs = array_reverse($divs); if needed.

foreach($divs as $div)
   echo '<div id="'.$div.'">'.$div.'</div>';

如果你坚持使用第一个div的内部内容来对其余内容进行排序(我不知道为什么?) - 你可以使用类似jQuery的东西在客户端执行此操作。

晒。