Как исправить предупреждение о незаконном смещении строки в PHP

у меня это кусок PHP кода, который дает мне ошибку:

предупреждение: незаконное смещение строки "iso_format_recent_works" в C:xampphtdocsMantawp-contentthemesmantafunctions.в PHP on линия 1328

это код, к которому относится предупреждение:

if(1 == $manta_option['iso_format_recent_works']){
    $theme_img = 'recent_works_thumbnail';
} else {
    $theme_img = 'recent_works_iso_thumbnail';
}

когда я делаю a var_dump($manta_option); Я получаю следующий результат:

["iso_format_recent_works"]=> строка(1) "1"

Я пробовал литья $manta_option['iso_format_recent_works'] до int но все равно получите ту же проблему.

любая помощь была бы очень признательна!

3 ответов


волшебное слово: isset и

проверить запись:

if(isset($manta_option['iso_format_recent_works']) && $manta_option['iso_format_recent_works'] == 1){
    $theme_img = 'recent_works_thumbnail';
} else {
    $theme_img = 'recent_works_iso_thumbnail';
}

1.

 if(1 == @$manta_option['iso_format_recent_works']){
      $theme_img = 'recent_works_thumbnail';
 } else {
      $theme_img = 'recent_works_iso_thumbnail';
 }

2.

if(isset($manta_option['iso_format_recent_works']) && 1 == $manta_option['iso_format_recent_works']){
    $theme_img = 'recent_works_thumbnail';
} else {
    $theme_img = 'recent_works_iso_thumbnail';
}

3.

if (!empty($manta_option['iso_format_recent_works']) && $manta_option['iso_format_recent_works'] == 1){
}
else{
}

пожалуйста, проверьте, существует ли ваш ключ в массиве или нет, вместо того, чтобы просто пытаться получить к нему доступ.

заменить:

$myVar = $someArray['someKey']

примерно так:

if (isset($someArray['someKey'])) {
    $myVar = $someArray['someKey']
}

или как-то так:

if(is_array($someArray['someKey'])) {
    $theme_img = 'recent_works_iso_thumbnail';
}else {
    $theme_img = 'recent_works_iso_thumbnail';
}