wordpress — Ошибка PHP: Предупреждение: недопустимое смещение строки ‘rating’

Я только что установил плагин stamped.io для отзывов клиентов на своем веб-сайте WordPress, и на внешнем интерфейсе я получаю сообщение об ошибке «Предупреждение: недопустимое смещение строки» рейтинг в /plugins/stampedio-product-reviews/view/cls_stamped_io_public.php онлайн 29′

И я копаюсь в файле, вот код в строке 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,

);

Это просто предупреждение об ошибке, поэтому я просто хочу его заткнуть. Любая помощь

1

Решение

Состояние $agrr_review["rating"] != "0" && $agrr_review["rating"] != 0 избыточно, так как "0" == 0 правда. Также верно то, что: "" == 0 но нет "" == "0",

Однако, поскольку в этом случае вычисление с пустой строкой не имеет смысла, вы можете упростить свое условие до:

if (!empty($agrr_review['rating']))

empty является true для любого выражения, которое оценивает falseвключая пустую строку "", Значение 0, строка "0" и неустановленные переменные. Это не бросает предупреждение.

1

Другие решения

Эта ошибка вызвана тем, что $ agrr_review является чем-то другим из массива
пример

 $agrr_review="";
if ( $agrr_review["rating"] != "0" && $agrr_review["rating"] != 0){
}

тогда вы получите

Предупреждение: недопустимое смещение строки ‘rating’

так что «заткнись» вы можете сделать следующее:

$agrr_review="";
if (is_array($agrr_review) && $agrr_review["rating"] != "0" && $agrr_review["rating"] != 0){
}

Но вы все равно можете получить ошибку, если ‘rating’ отсутствует в вашем массиве:

Неопределенный индекс: рейтинг

поэтому вам нужно другое условие:

if (is_array($agrr_review) && isset($agrr_review["rating"])&& $agrr_review["rating"] != "0" && $agrr_review["rating"] != 0){
}
1

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector