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

问题描述 投票:0回答:2

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

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

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

$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);
php random
2个回答
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));
}

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>";
}
© www.soinside.com 2019 - 2024. All rights reserved.