if (${"old_tag_$x"} == $tag) {
} else {
${"old_tag_$x"} = $tag;
setTermFieldbyId('tag', $tag, $x);
}
这很好用。但是,它看起来确实很冗长,所以我试着简化它:
if (!${"old_tag_$x"} == $tag) {
${"old_tag_$x"} = $tag;
setTermFieldbyId('tag', $tag, $x);
}
然而,这根本不起作用。还在搞清楚事情,但这对我来说似乎不太明白。我错了吗?
答案 0 :(得分:2)
应该是
if (${"old_tag_$x"} != $tag) {
${"old_tag_$x"} = $tag;
setTermFieldbyId('tag', $tag, $x);
}
http://www.php.net/manual/en/language.operators.comparison.php
来自手册:
$ a!= $ b如果在类型杂耍之后$ a不等于$ b,则不等于TRUE。
另请注意,==
和===
(或!=
和!==
)不同。 ==
比===
宽松。 ===
要求变量类型匹配(例如,字符串等于字符串,或者整数等于整数)。
例如:
1 ==' 1'
是真的但是
1 ===' 1'
是假的
此处还有指向此文档的链接http://php.net/manual/en/types.comparisons.php。以下是http://sandbox.onlinephpfunctions.com/code/70adc739a1062ee91944b7bf75574643946ecc17
的功能演示