随机化 SimpleXML 对象结果 [英] Randomize SimpleXML object results
本文介绍了随机化 SimpleXML 对象结果的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我想随机化下面的 x(取决于 $max)结果.现在列表按照代码指向的 XML 文件的顺序显示 ($string).有任何想法吗?
I want to randomize x (depending on $max) results below. Now the list is presented in order of the XML file the code is pointing to ($string). Any ideas?
<?php
$xml_feed = simplexml_load_string($string);
global $xml_global_f;
$xml_global_f = $xml_feed;
foreach($xml_global_f->reviewDetails->reviewDetail as $val)
{
if ($count < $max)
{
?>
<li><p><i class="fa fa-comment-o fa-flip-horizontal fa-lg"></i>
<span itemprop="review" itemscope itemtype="http://schema.org/Review">
<span itemprop="name"><strong><?php
echo $val->user; ?></strong></span><br /><br>
<span itemprop="reviewBody"> <?php
echo $val->text; ?></span>
<span content="<?php
echo $val->user; ?>" itemprop="author"></span><span content="<?php
echo $global_fcs_bn; ?>" itemprop="itemReviewed"></span></p></li>
<?php
}
$count++;
}
?>
推荐答案
如果你的 xml 没有很多项,那么你可以使用第二个数组和 php 函数 shuffle 在内存中对它们进行排序:
If your xml does not have a lot of items, then you can sort them in memory by using a second array and the php function shuffle:
<?php
$xml_feed = simplexml_load_string($string);
global $xml_global_f;
$xml_global_f = $xml_feed;
foreach($xml_global_f->reviewDetails->reviewDetail as $val)
$array[]= $val;
shuffle($array);
foreach($array as $val)
{
if ($count < $max)
{
?>
<li><p><i class="fa fa-comment-o fa-flip-horizontal fa-lg"></i>
<span itemprop="review" itemscope itemtype="http://schema.org/Review">
<span itemprop="name"><strong><?php
echo $val->user; ?></strong></span><br /><br>
<span itemprop="reviewBody"> <?php
echo $val->text; ?></span>
<span content="<?php
echo $val->user; ?>" itemprop="author"></span><span content="<?php
echo $global_fcs_bn; ?>" itemprop="itemReviewed"></span></p></li>
<?php
}
$count++;
}
?>
这篇关于随机化 SimpleXML 对象结果的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文