【发布时间】:2017-07-14 10:21:25
【问题描述】:
这是一个如此基本的事情,我不敢相信我无法弄清楚。我在模板文件中有一个 php 变量,称之为$author。它由我正在使用的内容管理系统传入。我很确定这是一个字符串。它的值是 'John'
我之所以认为它是一个字符串是因为当我尝试时
<?php print gettype($author); ?>
它打印“字符串”
当我写作时
<?php print $author; ?>
'John' 被打印出来
但是,当我写
<?php $author == 'John' ? print 'yes' : print 'no'; ?>
它打印出'no'。等等..什么?
当我使用
<?php print strcmp($author, 'John'); ?>
函数返回-14!
我想我的问题是,这里发生了什么?我如何测试$author is equal to 'John'?
如果重要的话,内容管理系统是drupal,但我认为这更像是一个一般的php问题。
【问题讨论】:
-
现在做
var_dump($author) -
是的,var_dump 会将错误转储出来
-
也许 $author 包含一些控制字符/空格?试试
trim($author) -
感谢您的 cmets。当我做 var_dump 时,我得到了非常意想不到的结果。但如果我注意到它检查元素,答案很明显,我通常会注意到它。我猜只是迟到了。 “trim”是我尝试的第一个,但结果它被包裹在 中,所以 'strip_tags' 成功了.. 我现在觉得有点傻哈哈,但我想我会留下这个问题,以防它对某人有帮助.