2011-09-19 66 views
0

我正在尋找重新排序DIV位置用PHP位置/訂購格用PHP

我的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> 

基本上我希望排序爲每格ID陣列。

謝謝

回答

1

你可以這樣做:

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

謝謝SBerg。這工作完美的我! – MANnDAaR

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來做到這一點在客戶端。

Shai。

1

你提的問題是非常不清楚,因爲你還沒有表示要求的順序是如何進入你的程序。

但基本上你有兩個選擇(可以合併)。在這兩種情況下,你把你的ID在一個PHP數組,並且:

  • 使用「usort」與自定義排序函數,它從什麼地方得到的順序,或
  • 使用顯式鑰匙放在陣列和排序key使用'ksort'。#
+0

我使用WordPress&value for 來自metabox之一.. – MANnDAaR