PHP - 如何向变量添加2个以上的参数?

时间:2014-03-30 13:48:02

标签: php function random warnings

所以我有以下代码:

<ul>
<li>
<p>
<?php
$var = rand(1,2,3,4,5,6,7,8,9,10);
if ($var == 1){
print '<a href="/dir1/file1">link1</a>';
}
if ($var == 2){
print '<a href="/dir2/file2">link2</a>';
}
if ($var == 3){
print '<a href="/dir3/file3">link3</a>';
}
if ($var == 4){
print '<a href="/dir4/file4">link4</a>';
}
if ($var == 5){
print '<a href="/dir5/file5">link5</a>';
}
if ($var == 6){
print '<a href="/dir6/file6">link6</a>';
}
if ($var == 7){
print '<a href="/dir7/file7">link7</a>';
}
if ($var == 8){
print '<a href="/dir8/file8">link8</a>';
}
if ($var == 9){
print '<a href="/dir9/file9">link9</a>';
}
if ($var == 10){
print '<a href="/dir10/file10">link10</a>';
}
?>
</p>
</li>
</ul>

但它输出了这个错误:

  

&#34; 警告:rand()需要2个参数,10个给定......&#34;

所以我想知道如何才能将此values的{​​{1}}随后variable仅添加print()标记?

6 个答案:

答案 0 :(得分:1)

问题不在于您可以传递给函数的参数数量,而是函数期望的参数。

rand需要2个参数 - 最小值和最大值。它没有采用它所选择的数量不确定的参数。

你只想:

rand(1, 10)

答案 1 :(得分:1)

由于您的号码是按顺序排列的,您只需执行

即可
$var = rand(1,10);   // that will work on range 1 - 10


功能原型:

  

int rand(int $ min,int $ max)

答案 2 :(得分:1)

这里你不需要条件......

<ul>
    <li>
        <p>
          <?php printf('<a href="/dir%d/file%d">link%d</a>', rand(1,10)); ?>
        </p>
    </li>
</ul>

会做..

会做..

你所犯的错误是...... rand()需要两个参数..最小数量和最大数量。

Sidenote :如果在没有可选min的情况下调用,则max参数rand()返回0和getrandmax()之间的伪随机整数

答案 3 :(得分:0)

$var = rand(1,10);

这意味着兰特从1到10

答案 4 :(得分:0)

在下限和上限rand(0,10)之间设定一个数字。如果你有一个数字列表,如 [1,14,1663,1773]并且你想从这些中得到一个随机数,使用random函数得到一个介于0和count(数组)之间的数字 - 然后在该索引处打印该元素。

答案 5 :(得分:0)

因为错误信息很明确。

rand() 函数需要两个参数。

如果你想生成一个 1 到 10 之间的随机数,这样写:

rand('1', '10')