2011-03-26 32 views
0

UPDATE 對不起。我並不像我想的那樣清楚。我基本上試圖插入不止一個文本字符串。該函數在wordpress中,並從廣告的儀表板獲取html代碼。是否可以在數組中添加php代碼?嘗試隨機化動態lisy的訂單

<ul id="randomOrderList"> 
     <li><?php if (function_exists('dfrads')) { echo dfrads('1'); } ?></li> 
     <li><?php if (function_exists('dfrads')) { echo dfrads('2'); } ?></li> 
     <li><?php if (function_exists('dfrads')) { echo dfrads('3'); } ?></li> 
    </ul> 

要這樣:

<ul id="randomOrderList"> 
    <li><a href="" title=""><img src="name" alt=" " /></a></li> 
    <li><a href="" title=""><img src="name" alt=" " /></a></li> 
    <li><a href="" title=""><img src="name" alt=" " /></a></li> 
</ul> 

我試過,但我不知道如何添加php的數組中:

<? 
    $array=array('<?php if (function_exists('dfrads')) { echo dfrads('1'); } ?>','<?php if (function_exists('dfrads')) { echo dfrads('2'); } ?>','<?php if (function_exists('dfrads')) { echo dfrads('3'); } ?>'); 
    shuffle($array); 
    $array = array_chunk($array, 5); 
    foreach($array as $section){ 
    echo '<ul id="randomOrderList">'."\n"; 
    foreach($section as $link){ 
     echo ' <li>'.$link.'</li>'."\n"; 
    } 
    echo '</ul>'."\n"; 
    } 
?> 
+2

陣列旨在包含**數據**,而代碼輸出它。 – 2011-03-26 13:57:29

回答

1

你可以把你的字符串成陣列:

$strings = array(
    'something 1', 
    'something 2', 
    'something 3', 
); 

沒有任何種類的代碼 - 這是不允許在那裏。


然後,使用shuffle()功能來隨機數組:

shuffle($strings); 


而且,現在,循環在你的陣列,顯示的項目:

echo '<ul id="randomOrderList">'; 
foreach ($strings as $string) { 
    echo '<li>' . $string . '</li>'; 
} 
echo '</ul>'; 


他們將以隨機順序顯示。這個問題的編輯後


編輯:可以構建陣列呼喚你的功能,當然。

例如,你可以使用這樣的事情:

$strings = array(
    dfrads('1'), 
    dfrads('2'), 
    dfrads('3'), 
); 

如果需要,可以包括爲dfrads功能的存在測試中的所有代碼:

if (function_exists('dfrads')) { 
    // Create the array 
    // randomize it with shuffle 
    // do the loop and the echos 
} 
+0

謝謝你的時間帕斯卡。你解決了這個問題。它的效果很好。一探究竟。 http://www.designclipboard.com/ – 2011-03-26 14:34:33

+0

不客氣:-)很高興我能幫忙! – 2011-03-26 14:35:37

+0

@設計剪貼板:呃,我的回答有什麼區別?! o_O – zerkms 2011-03-26 14:49:14

2
$list = array('something 1', 'something 2', 'something 3'); 
shuffle($list); 

echo '<ul>'; 
foreach ($list as $item) { 
    echo '<li>' . htmlspecialchars($item) . '</li>'; 
} 
echo '</ul>'; 
+0

謝謝你的幫助。我更新了我的代碼,因爲我錯過了一些細節。我試圖從wordpress中的數據庫中提取代碼,因此內容不僅僅是一個字符串。 – 2011-03-26 14:10:32

+0

@設計剪貼板:定義「不止一個字符串」。它是一個*超弦*? ;-) – zerkms 2011-03-26 14:17:42

相關問題