Php 字符串比较不起作用

Php 字符串比较不起作用,php,comparison,string-comparison,Php,Comparison,String Comparison,当一个类别ID等于一个特定的数字时,我试图改变输出。由于某些原因,它总是返回false。我错过了什么 <?php $ad_id = '#_CATEGORYID'; $id = 55; if ($ad_id === $id ) { echo 'true'; } else { echo 'false'; } ?> 编辑 抱歉,我应该澄清一下,##u CATEGORYID是来自另一个返回整数的应用程序的短码。当echo$ad_id时,返回的值是55。我觉得您可能需

当一个类别ID等于一个特定的数字时,我试图改变输出。由于某些原因,它总是返回false。我错过了什么

<?php 
$ad_id = '#_CATEGORYID';
$id = 55;

if ($ad_id === $id ) {
    echo 'true';
} else {
    echo 'false';
}
?>

编辑
抱歉,我应该澄清一下,##u CATEGORYID是来自另一个返回整数的应用程序的短码。当
echo$ad_id
时,返回的值是55。

我觉得您可能需要在比较之前评估第三方标记

<?php  
eval("\$ad_id = '#_CATEGORYID'"); 
$id = "55"; 

if ($ad_id === $id ) { 
    echo 'true'; 
} else { 
    echo 'false'; 
} 
?> 

因为“################################;就在你的if块之前?你试过$id=“55”吗?“字符串(12)”也是可疑的。该字符串中有无法打印的字符。在你的问题中加入完整的信息会有所帮助!即使他这么做了,他也在把“55”和“u CATEGORYID”作比较,它们并不相等。胡说!我在想“###u CATEGORYID”是一种类似于ColdFusion的#myvar#标记的php行话。我不熟悉ColdFusion,也许你是对的,我还以为OP会提到它或给它加上标签。哈!所以我(几乎)是对的。磅符号是来自另一种应用程序/语言的标记,但不是php标记。是的,当你删除它时,我正在评论你的答案。