【问题标题】:Get Some Value from Random Function in PHP从 PHP 中的随机函数中获取一些值
【发布时间】:2013-05-02 13:27:12
【问题描述】:

我从 PHP 中生成随机函数得到五个值,如下所示:

1
0
0
1
1

这是代码:

for ($i=0; $i<10; $i++){
$n = rand(0, 1);
echo $n;echo "<br/ >"}

现在,我应该怎么做才能只从第一行和第三行获取值? 所以我只得到价值:
1
0

【问题讨论】:

  • 为什么不将输出限制为两个?此外,使用rand(),第一个和第三个条目也可以是 0 和 0 或 1 和 1...
  • 如果 i =0 或 i= 2 回显... ???
  • 仅获取第一行和第三行并不比仅获取 2 行开始更随机

标签: php arrays loops random


【解决方案1】:

使用一个数组来存储数据,然后访问它:

for ($i=0; $i<10; $i++){
    $data[] = rand(0, 1);
}

echo $data[0];  //1st "row"
echo '<br>';
echo $data[2];  //3rd "row"

请记住,PHP 数组从索引 0 开始。 要了解有关 PHP 数组及其用法的更多信息:http://php.net/manual/en/language.types.array.php

【讨论】:

    【解决方案2】:

    将你的值存储在一个数组中,然后输出你真正想要的值

    $n = array();
    for ($i=0; $i<10; $i++){
        $n[] = rand(0, 1);    
    }
    echo $n[0];
    echo '<br>';
    echo $n[2];
    

    【讨论】:

      【解决方案3】:
      for ($i=0; $i<10; $i++){
          if($i == 0 || $i == 2){
              $n = rand(0, 1);
              echo $n;echo "<br/ >"
          }
      }
      

      但我不知道你想用那个实现什么......

      【讨论】:

        【解决方案4】:

        类似这样的:

            for($i=0; $i<10; $i++)
            {
               $n = rand(0, 1);
        
               if($i != 0 && $i != 2)
                   continue;
        
               echo $n;
               echo "<br/ >";
            }
        

        工作示例here

        【讨论】:

          【解决方案5】:

          让我们摆脱 for 循环:

          $data = array_map(function($v){return rand(0,1);}, range(0, 9)); // Requires PHP 5.3+ 
          echo $data[0] . ' ' . $data[2];
          

          Online demo.

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 1970-01-01
            • 2011-09-22
            • 2017-04-26
            • 1970-01-01
            • 2018-06-19
            • 1970-01-01
            相关资源
            最近更新 更多