How to fix Warning Illegal string offset in PHP

I have this chunk of PHP code which is giving me the error:

Warning: Illegal string offset ‘iso_format_recent_works’ in
C:xampphtdocsMantawp-contentthemesmantafunctions.php on
line 1328

Read More

This is the code that the warning is relating to:

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

When I do an a var_dump($manta_option); I receive the follow result:

[“iso_format_recent_works”]=> string(1) “1”

I have tried casting $manta_option['iso_format_recent_works'] to an int but still get the same issue.

Any help would be greatly appreciated!

Related posts

Leave a Reply

3 comments

  1. Magic word is: isset

    Validate the entry:

    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';
    }
    
  2. 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{
    }
    
  3. Please check that your key exists in the array or not, instead of simply trying to access it.

    Replace:

    $myVar = $someArray['someKey']
    

    With something like:

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

    or something like:

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