Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/image-processing/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
php中的数据类型及其划分_Php - Fatal编程技术网

php中的数据类型及其划分

php中的数据类型及其划分,php,Php,我对php不是很有经验。我面临的问题是: print "post: {$_POST['var']} session: {$_SESSION['var']}\n"; 假设这打印出两个相等的输出 然后 永远不会被认为是真的。我应该怎么做才能修复它?我不认为这可能是数据类型问题(除非它们是浮点数,否则可能是),但如果您想检查它们是否是相同的类型,请使用==。我的猜测是,当你打印出来的时候,在其中一张照片上有一个你无法发现的胭脂区。你能给出打印出来的内容的例子吗?我不认为这可能是一个数据类型问题(除非

我对php不是很有经验。我面临的问题是:

print "post: {$_POST['var']} session: {$_SESSION['var']}\n";
假设这打印出两个相等的输出

然后


永远不会被认为是真的。我应该怎么做才能修复它?

我不认为这可能是数据类型问题(除非它们是浮点数,否则可能是),但如果您想检查它们是否是相同的类型,请使用==。我的猜测是,当你打印出来的时候,在其中一张照片上有一个你无法发现的胭脂区。你能给出打印出来的内容的例子吗?

我不认为这可能是一个数据类型问题(除非它们是浮点数,否则可能是),但是如果你想检查它们是否是相同的类型,那么就使用===。我的猜测是,当你打印出来的时候,在其中一张照片上有一个你无法发现的胭脂区。您能给出打印出的内容的示例吗?

请尝试以下方法:

if (trim($_POST['var']) == trim($_SESSION['var'])) {
  // ...
}
if($_POST['var'] === $_SESSION['var']){
    ...
}
您还可以使用
var\u dump
检查
$\u会话['var']
$\u POST['var']
的内容,并查看它们是否匹配:

var_dump($_POST['var']);
var_dump($_SESSION['var']);
请尝试以下操作:

if (trim($_POST['var']) == trim($_SESSION['var'])) {
  // ...
}
if($_POST['var'] === $_SESSION['var']){
    ...
}
您还可以使用
var\u dump
检查
$\u会话['var']
$\u POST['var']
的内容,并查看它们是否匹配:

var_dump($_POST['var']);
var_dump($_SESSION['var']);

结果是1。您比较的变量值是多少?



结果是1。您比较的变量值是什么?

我认为这不是数据类型问题,但如果您想在php中比较数据类型,可以执行以下操作:

if (trim($_POST['var']) == trim($_SESSION['var'])) {
  // ...
}
if($_POST['var'] === $_SESSION['var']){
    ...
}
或者,您可以通过执行以下操作来强制转换数据类型:(int)(array)(object)


我不认为这是一个数据类型问题,但如果您确实想在php中比较数据类型,可以执行以下操作:

if (trim($_POST['var']) == trim($_SESSION['var'])) {
  // ...
}
if($_POST['var'] === $_SESSION['var']){
    ...
}
或者,您可以通过执行以下操作来强制转换数据类型:(int)(array)(object)


你能准确地复制它的输出并把它放在这里吗?它到底打印出什么?你用hexeditor看了吗?仅仅因为它看起来是一样的,并不意味着其中没有任何额外的空格或NUL字节。就像@mario所说的,在
var
的任何一侧都可能有空格,所以你的比较永远不会返回true。试着在
$\u SESSION['var']
$\u POST['var']
@mario上运行
trim
,如果我在每个变量后面加上一个点,并且在POST中有一些空格,那么你是对的between@Krister安德森:是的,谢谢,trim节省时间您能准确复制它输出的内容并放在这里吗?它到底打印出什么?你用hexeditor看了吗?仅仅因为它看起来是一样的,并不意味着其中没有任何额外的空格或NUL字节。就像@mario所说的,在
var
的任何一侧都可能有空格,所以你的比较永远不会返回true。试着在
$\u SESSION['var']
$\u POST['var']
@mario上运行
trim
,如果我在每个变量后面加上一个点,并且在POST中有一些空格,那么你是对的between@Krister安德森:是的,谢谢,修剪可以节省时间