随机化 SimpleXML 对象结果 [英] Randomize SimpleXML object results

查看:29
本文介绍了随机化 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>&nbsp;&nbsp;
            <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>&nbsp;&nbsp;
        <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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆