-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 语句中比较两个值,如下所示:

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

试试这个,这会将您的增量值放入数组中,然后您可以使用任何数字进行验证

 $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 回答
0

=是赋值运算符,比较你必须使用==

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

此外,有些情况下使用

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

是有用的。此代码会将 $value 分配给 $number 并“返回”其值,因此if ($number = 1) echo "hi";将回显“hi” - 而 `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 回答