我有一个连接数据库的函数,它返回一个数字和第二个函数,它返回一个文件的大小。 如果我使用echo函数查看结果函数:variable1 = 1345064,variable2 = 135
,但是当我使用比较时,给我错误的结果:
if($variable1 < $variable2)
{
echo 'This code is displayed';
}
else
{
echo 'This code should display';
}
出了什么问题?
我的源代码:
<?php
include 'funkcje.inc';
$login = $_GET['login'];
$fsize = WielkoscPliku2($file);
$tmp = $fsize / 1000000;
$zmienna1 = SprTransfer($login);
$zmienna2 = floor($tmp);
if($zmienna1 < $zmienna2)
{
echo "This code is displayed";
}
else
{
echo "This code should be displayed";
}
?>
SprTransfer功能:
<?php
require "connection.php";
connection();
...
function SprTransfer($login)
{
$zapytanie = "SELECT `transfer` FROM `uzytkownicy` WHERE `nick`='$login'";
$idzapytania = mysql_query($zapytanie);
$sprwaznosc = mysql_fetch_row($idzapytania);
return $sprwaznosc[0];
}
?>
主档案:
include 'funkcje.inc';
$login = $_GET['login'];
$fsize = WielkoscPliku2($file);
$tmp = $fsize / 1000000;
$zmienna1 = SprTransfer($login);
$zmienna2 = floor($tmp);
if($zmienna1 < $zmienna2)
{
echo "This code is displayed";
}
else
{
echo "This code should be displayed";
}
function.inc file:
require "connection.php";
connection();
function SprTransfer($login)
{
$zapytanie = "SELECT `transfer` FROM `uzytkownicy` WHERE `nick`='$login'";
$idzapytania = mysql_query($zapytanie);
$sprwaznosc = mysql_fetch_row($idzapytania);
return $sprwaznosc[0];
}
答案 0 :(得分:4)
您使用的是错误的变量名称。变量需要以$
开头。
$variable1 = 4;
$variable2 = 5;
if ($variable1 < $variable2) {
echo 'Yep';
}else {
echo 'Nope';
}
答案 1 :(得分:2)
可能是变量前的$:
if($variable1 < $variable2)
答案 2 :(得分:1)
假设错过$只是一个错字......
当您遇到此类问题时,最好的方法是发布完整的工作代码示例。例如,下面的代码可以正常工作。它显示“应显示此代码”。 你跑的时候会发生什么?这段代码和你的代码有什么区别?回答这两个问题,你至少会指出你的答案:
<?php
$variable1 = 1345064;
$variable2 = 135;
if ($variable1 < $variable2) {
echo "This code is displayed";
}
else {
echo "This code should be displayed";
}
?>
答案 3 :(得分:1)
我不确定如何,但看起来你将数字解释为字符串。
例如,这将显示This code is displayed
:
<?php
$variable1 = "1345064a";
$variable2 = "135a";
if ($variable1 < $variable2) {
echo "This code is displayed";
}
else {
echo "This code should be displayed";
}
// Output: This code is displayed
?>
将变量投射到int
<?php
$variable1 = "1345064a";
$variable2 = "135a";
if ((int) $variable1 < (int) $variable2) {
echo "This code is displayed";
}
else {
echo "This code should be displayed";
}
// Output: This code should be displayed
?>
您可以使用 gettype()
检查变量的类型。您永远不应该使用gettype()
的输出来测试一个特定类型,因为输出字符串可能会从一个版本的PHP更改为另一个版本。