【问题标题】:How to fix Warning Illegal string offset in PHP如何在 PHP 中修复警告非法字符串偏移
【发布时间】:2014-04-12 07:41:21
【问题描述】:

我有这段 PHP 代码给了我错误:

警告:非法字符串偏移 'iso_format_recent_works' in 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"]=> 字符串(1) "1"

我尝试将$manta_option['iso_format_recent_works'] 转换为int,但仍然遇到同样的问题。

任何帮助将不胜感激!

【问题讨论】:

  • 如果var_dump() 显示该输出,那么您的代码应该可以按预期工作。阵列是否在两者之间进行了修改?向我们展示完整的代码。

标签: php arrays wordpress casting offset


【解决方案1】:

神奇的词是: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';
}

【讨论】:

  • 感谢您的帮助。看起来数组设置不正确。
  • 非常感谢!!当我在 WP 站点从 php56 切换到 php71 时遇到错误时,这对我有很大帮助!
【解决方案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{
}

【讨论】:

  • 仅代码的答案对教育 OP 和未来的 SO 读者几乎没有什么作用,请始终包含某种简单的英语解释,说明您的方法如何工作以及为什么它们是该问题的合适解决方案。跨度>
【解决方案3】:

请检查您的密钥是否存在于数组中,而不是简单地尝试访问它。

替换:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-02-23
    • 2013-04-11
    • 2012-04-09
    • 1970-01-01
    • 1970-01-01
    • 2017-09-05
    相关资源
    最近更新 更多