PHP 用 shuffle() 函数实现数组随机再排序

刚刚在给我的解密游戏完善一些东西,尤其是跳关的那个文件,里面有序地储存了关卡的网址。为了增加难度,我设置了每次打开页面都随机给网址排序——这就是今天我给大家介绍的东西。

其实,PHP 中有个自带函数叫作 shuffle。要使用它,非常方便。

让我们直接看例子:

<?php
  $list = array('Shansing', 'shansing.com', 'Shansing!');
  shuffle($list);
  print_r($list);
?>

这样子打印出来的就可能是:

Array ( [0] => shansing.com [1] => Shansing! [2] => Shansing )

OK,就是这样用的。那我们如何输出 Array 数组里的文本内容呢?很简单,再加上这段代码:

foreach($list as $text)
{
  echo $text;
}

这样子我们就可以接着得到这种结果了:

shansing.comShansing!Shansing

为什么木有换行呢?是因为我没有加换行符或(及)回车符或是相关 HTML 代码啦!这种事情对于你来讲,应该很简单吧?

另外可以注意的是,shuffle() 这个函数有返回值:若重新排列成功,则返回 TRUE,否则返回 FALSE。更多信息可以点击这儿

若无特别说明,本文系原创,遵循 署名-非商业性使用 3.0 (CC BY-NC 3.0) 协议,转载文章请注明来自【闪星空间】,或链接上原文地址:http://shansing.com/read/209/

15 条评论

  1. Wis Wis

    这么巧啊,昨天我发的文章里也有用shuffle()

  2. foreach($list as $text)
    {
      echo $text;
    }

    据说弄成

    foreach($list as $key => $value)
    {
      echo $text;
    }
    是个好习惯。

    1. $text 是什么?

      1. 我复制的你的...用的时候$text就是变量,看你的要求。我说的是加了索引的遍历。

        1. 真的会这么神奇么?你只出现了 $list 和 $key => $value,哪里来的 $text?

          1. foreach($list as $text).....

            1. 我糊涂了……你不是把 $text 改成 $key => $value 了么?

            2. 我也晕了..

            3. $key是各大教程上面滴,$text 也是一个定义吧,他并不代表 txt吧?

            4. 变量名基本上是随便取的。

  3. yoyo35123 yoyo35123

    谢谢您的分享 学习了 顶一下
    オンラインカジノ

  4. 看到代码 就偷晕的有码。

    1. 看来这技术文不适合你啊。

发表评论»

NO SPAMS! 不要发垃圾评论哦!

表情