-1

次のコードがあります

<?php
for ($i=1; $i<=4; $i++)
{
echo $i . "<br>";
}
?>

結果 1 2 3 4

変数 $number = 1 を持つ別のコードがあり、コーディングは次のとおりです

if ($number = $i) 
{ 
echo "Message" ;
}

私の問題は、変数 $number(1) が変数 $i によって表示される値のリストで使用可能であることを確認する必要があることです。

誰でもその解決策を見つけることができますか? 前もって感謝します 。

4

3 に答える 3

2

次のように、if ステートメント内で 2 つの値を比較する代わりに、==(比較演算子)を使用する必要があります。=

if ($number == $i) 
{ 
   echo "Message" ;
}

ただし、それが単なるタイプミスであると仮定すると、ここに私の提案があります。

最初に、印刷する数値を配列に格納できます。

$i = array(1,2,3,4);
foreach($i as $num)
{
   echo $num."<br/>" ;
}

次に、phpのin_array() 関数$numberを使用して、上記の数値のいずれかに が存在するかどうかを確認できます。

if(in_array($number, $i))
{
   echo "Message" ;
}
于 2013-06-17T10:13:15.893 に答える
0

=代入演算子です。比較するには、使用する必要があります==

if ($number == 1) {
  //...
}

さらに、使用する状況があります

if ($number = $value) {
  //...
}

役に立ちます。このコードは $value を $number に割り当て、その値を「返す」ため、if ($number = 1) echo "hi";"hi" をエコーし​​ます - while `if ($number = 0) echo "hi"; 何も出力しません。上記のような割り当てはまったく役に立ちません。主に関数を呼び出すときに使用され、戻り値を復元して同じステップで比較したい場合のように

if ($number = getValue()) {
  //$number is set to getValue() and is not 0, null or false
}
于 2013-06-17T10:18:08.033 に答える
0

これを試してください。これにより、増分値が配列に配置され、その後、任意の数値で検証できます

 $inc=array();
 for ($i=1; $i<=4; $i++)
  {
   array_push($inc,$i);
  }
 $number=1;
if(in_array($number, $inc))
 {
   echo "your Message" ;
 }
于 2013-06-17T10:24:02.567 に答える