有php rand功能的问题

时间:2012-01-08 02:38:28

标签: php

我认为我做的事情非常非常错误......

我知道我正在使用rand($ a,$ b)做错事,但我发现很难隔离,因为我从C ++转移到PHP

以下是相关的源代码:

<?php
                    $r = rand(1,7);
                    if ($r = 1){
                    echo '<p id="quote">a</p>';}
                    if ($r = 2){
                    echo '<p id="quote">b"</p>';}
                    if ($r = 3){
                    echo '<p id="quote">c</p>';}
                    if ($r = 4){
                    echo '<p id="quote">d</p>';}
                    if ($r = 5){
                    echo '<p id="quote">e</p>';}
                    if ($r = 6){
                    echo '<p id="quote">f</p>';}
                    if ($r = 7){
                    echo '<p id="quote">g</p>';}
                ?>

3 个答案:

答案 0 :(得分:8)

整个代码块可以更简单地编写为:

<?php
    $r = rand(0,6);
    echo '<p id="quote">'.chr(ord('a')+$r).'</p>';
?>

编辑:顺便说一句,你所做错的是在你的比较中使用=而不是==

答案 1 :(得分:1)

您每次都要分配$ r的值...

应该是:

<?php
                    $r = rand(1,7);
                    if ($r == 1){
                    echo '<p id="quote">a</p>';}
                    if ($r == 2){
                    echo '<p id="quote">b"</p>';}
                    if ($r == 3){
                    echo '<p id="quote">c</p>';}
                    if ($r == 4){
                    echo '<p id="quote">d</p>';}
                    if ($r == 5){
                    echo '<p id="quote">e</p>';}
                    if ($r == 6){
                    echo '<p id="quote">f</p>';}
                    if ($r == 7){
                    echo '<p id="quote">g</p>';}
                ?>

答案 2 :(得分:0)

if ($r == 7)

总是双重等号