web-dev-qa-db-ja.com

PHP=

私はこのPHPコードの塊を持っていますが、これは私にエラーを与えています:

警告:不正な文字列オフセット「iso_format_recent_works」 C:\ xampp\htdocs\Manta\wp-content\themes\manta\functions.php オンラインで 1328

これは、警告に関連するコードです。

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

var_dump($manta_option);を実行すると、次の結果が表示されます。

["iso_format_recent_works"] => string(1) "1"

_$manta_option['iso_format_recent_works']_をintにキャストしようとしましたが、それでも同じ問題が発生します。

どんな助けも大歓迎です!

7
Jason

Magic Wordは: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';
}
28
Adrian Preuss

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
zion ben yacov

単にアクセスしようとするのではなく、配列にキーが存在するかどうかを確認してください。

交換:

$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';
}
2