简单PHP IF语句计算不正确

简单PHP IF语句计算不正确,php,Php,这个PHP IF语句总是导致“false”,我不知道为什么。非常感谢您的帮助 其中,$i作为0传递,而$j作为4传递(这些数字已在POST中验证) $i=$\u POST['entry']; $j=$_POST['j']; 函数选项卡(){ 如果($i

这个PHP IF语句总是导致“false”,我不知道为什么。非常感谢您的帮助

其中,$i作为0传递,而$j作为4传递(这些数字已在POST中验证)

$i=$\u POST['entry'];
$j=$_POST['j'];
函数选项卡(){
如果($i<$j)
回声‘i小于j’;
其他的
回声“假”;
};

$i
$j
不在
选项卡()的范围内。

在用户定义函数中引入了局部函数作用域。默认情况下,函数中使用的任何变量都限制在局部函数范围内

将其作为参数传递或使其全局化(第一种是首选方式):

参数

$i = $_POST['entry'];
$j = $_POST['j'];

function tabs($i, $j) {
  if ($i < $j)
    echo 'i is less than j';
  else
    echo 'false';
};

tabs($i, $j);
$i=$\u POST['entry'];
$j=$_POST['j'];
功能选项卡($i,$j){
如果($i<$j)
回声‘i小于j’;
其他的
回声“假”;
};
标签($i,$j);
全球

$i = $_POST['entry'];
$j = $_POST['j'];

function tabs() {
  global $i, $j;
  if ($i < $j)
    echo 'i is less than j';
  else
    echo 'false';
};

tabs();
$i=$\u POST['entry'];
$j=$_POST['j'];
函数选项卡(){
全球$i,$j;
如果($i<$j)
回声‘i小于j’;
其他的
回声“假”;
};
tabs();

编辑

或者,您可以从
tabs()
函数中直接访问超级全局
$\u POST
数组,或者
$\u GLOBALS['i']
$\u GLOBALS['j']
分别访问
$i
$j
不在
选项卡()中:

在用户定义函数中引入了局部函数作用域。默认情况下,函数中使用的任何变量都限制在局部函数范围内

将其作为参数传递或使其全局化(第一种是首选方式):

参数

$i = $_POST['entry'];
$j = $_POST['j'];

function tabs($i, $j) {
  if ($i < $j)
    echo 'i is less than j';
  else
    echo 'false';
};

tabs($i, $j);
$i=$\u POST['entry'];
$j=$_POST['j'];
功能选项卡($i,$j){
如果($i<$j)
回声‘i小于j’;
其他的
回声“假”;
};
标签($i,$j);
全球

$i = $_POST['entry'];
$j = $_POST['j'];

function tabs() {
  global $i, $j;
  if ($i < $j)
    echo 'i is less than j';
  else
    echo 'false';
};

tabs();
$i=$\u POST['entry'];
$j=$_POST['j'];
函数选项卡(){
全球$i,$j;
如果($i<$j)
回声‘i小于j’;
其他的
回声“假”;
};
tabs();

编辑

或者,您可以从
tabs()
函数中直接访问superglobal
$\u POST
数组,或者分别从
$\u GLOBALS['i']
$\u GLOBALS['j']
访问。我使用了第一种方法,解决了这个问题。谢谢,这就解决了。我使用了第一种方法,解决了这个问题。