PHP无法比较字符串

时间:2017-07-14 10:21:26

标签: php templates drupal-7

这是一个基本的东西,我不敢相信我无法弄明白。我在模板文件中有一个php变量,称之为$author。它由我正在使用的内容管理系统传入。我很确定这是一个字符串。它的价值是'John'

我认为这是一个字符串的原因是因为当我尝试

<?php print gettype($author); ?>

打印'字符串'
我写的时候

<?php print $author; ?>

'John'被打印了 但是,当我写

<?php $author == 'John' ? print 'yes' : print 'no'; ?>

打印'不'。等等......什么? 当我使用

<?php print strcmp($author, 'John'); ?>

该函数返回-14!
我想我的问题是,这里发生了什么?我如何测试$author is equal to 'John'? 如果它很重要,内容管理系统是drupal,但我认为它更像是一般的php问题。

1 个答案:

答案 0 :(得分:1)

强制它成为一个字符串。

<?php
$author = (string)$author;
$author == 'John' ? print 'yes' : print 'no';
?>