在str_repeat的每次迭代上运行rand()函数

时间:2013-09-03 10:14:38

标签: php random

我正在尝试制定一些虚拟数据,以便我可以开发一个html数据表的前端,这样就可以将数据写出一次并使用str_repeat多次输出。< / p>

我在前端加入的功能之一是能够对列进行排序,但为此我需要在每行中使用不同的数据。我计划使用rand()来协助这部分,但是当我将它与下面的代码块一起使用时,它会生成一个随机数,并且str_repeat输出会产生3次..

是否有一种简单的方法可以让它在rand() func的每次迭代中运行str_repeat() func?

$html = "
          <tr>
            <!-- Unit Price -->
              <td class='table-input input-number'>
                <input class='input-center' value='" . rand(10,200) . "'>
              </td>

            <!-- QTY -->
              <td class='table-input input-number'>
                <input class='input-center' value='" . rand(1,5) . "'>
              </td>
          </tr>";

        echo str_repeat($html,3);

2 个答案:

答案 0 :(得分:1)

不,你不能用str_repeat来做,因为你有一个固定的字符串,这是重复的。使用例如

$tmpl = "
  <tr>
    <!-- Unit Price -->
      <td class='table-input input-number'>
        <input class='input-center' value='%d'>
      </td>

    <!-- QTY -->
      <td class='table-input input-number'>
        <input class='input-center' value='%d'>
      </td>
  </tr>";
for($i = 0; $i < 3; $i++) {
    printf($tmpl, rand(10, 200), rand(1, 5));
}

答案 1 :(得分:0)

我最终使用的方法是基于@Christoph的回答,这种方法可以让你以更直接的方式输入html和rand()值。

for($i = 0; $i < 3; $i++) {
   echo "<tr>
        <!-- Unit Price -->
          <td class='table-input input-number'>
            <input class='input-center'" . rand(1,5) . "'>
          </td>

        <!-- QTY -->
          <td class='table-input input-number'>
            <input class='input-center'" . rand(1,5) . "'>
          </td>
      </tr>";
}