我刚刚在我的wordpress网站上安装了一个用于客户评论的stamped.io插件,在我的前端,我在第29行的/plugins/stampedio-product-reviews/view/cls_stamped_io_public.php中收到了一个错误‘警告:非法字符串偏移’评级‘。’
我深入研究了这个文件,这是第29行的代码(实际上是包含if
语句的那一行):
if ($agrr_review["rating"] != "0" && $agrr_review["rating"] != 0){
$markup['aggregateRating'] = array('@type' => 'AggregateRating',
'ratingValue' => $agrr_review["rating"],
'ratingCount' => $agrr_review["count"],
'reviewCount' => $agrr_review["count"],
'worstRating' => 1,
'bestRating' => 5,
);
这只是一个警告错误,所以我只想让它闭嘴。有什么帮助吗?
发布于 2018-12-19 06:20:09
由于"0" == 0
为true,因此条件$agrr_review["rating"] != "0" && $agrr_review["rating"] != 0
是多余的。同样正确的是:"" == 0
,但不是"" == "0"
。
但是,由于在这种情况下,使用空字符串进行计算是没有意义的,因此可以将条件简化为:
if (!empty($agrr_review['rating']))
对于任何计算结果为false
的表达式,empty
均为true
,包括空字符串""
、值0
、字符串"0"
和未设置变量。它不会抛出警告。
https://stackoverflow.com/questions/53841316
复制相似问题