我有一大堆PHP代码,它给了我错误:
警告:非法字符串偏移'iso_format_recent_works' C:\ xampp \ htdocs \ Manta \ wp-content \ themes \ manta \ functions.php on 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
,但仍然遇到同样的问题。
非常感谢任何帮助!
答案 0 :(得分:28)
魔术词是: 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 :(得分:3)
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{
}
答案 2 :(得分:2)
请检查您的密钥是否存在于数组中,而不是简单地尝试访问它。
替换:
$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';
}