最近我有必要使用来与 PHP 5.6 向后兼容的代码,我使用 if 语句执行此操作,检查 php 版本以选择执行的代码。这是一个小例子:
if ( version_compare( PHP_VERSION, '7.0', '>=' ) ) {
return strtotime($b['date']) <=> strtotime($a['date']);
}
else {
if (strtotime($a['date']) == strtotime($b['date'])) {
return 0;
}
return (strtotime($a['date']) > strtotime($b['date'])) ? -1 : 1;
}
我以为这样就足够了,但事实并非如此。PHP 仍在尝试执行 PHP 7 代码,使用 spaceship 运算符返回错误。任何人都知道为什么 php 仍在内部执行代码以及 if 语句明确表示不这样做以及如何解决这个问题?谢谢