【问题标题】:Illegal offset type in isset or empty warning in phpisset 中的非法偏移类型或 php 中的空警告
【发布时间】:2018-05-22 19:41:32
【问题描述】:
if($state_id && !isset($A_CITY[$state_id][$city_name]) && isset($A_ALT[$state_id][$city_name]))
    {
      $city_name = $A_ALT[$state_id][$city_name];
      $catSearchParams['City'] = $city_name;
    }

我在第一行收到警告。

警告:isset 中的偏移类型非法或为空

【问题讨论】:

  • 您的 $state_id 或 $city_name 变量尚未分配或已分配“空”值。使用“null”值对数组进行索引是非法偏移量。
  • 它必须是$city_name,因为if 语句检查$state_id 是否为非空。
  • var_dump($city_name) 显示什么?
  • 那么解决方案可能是什么,我的意思是 $state_id 有一些价值,而 $city_name 也有一些价值。但是你 $A_CITY[$state_id][$city_name] 没有输出。
  • @Barmar:我没听懂

标签: php


【解决方案1】:

在尝试将其用作索引之前,您需要检查 $city_name 是否为空,就像使用 $state_id 一样。

if($state_id && $city_name && !isset($A_CITY[$state_id][$city_name]) && isset($A_ALT[$state_id][$city_name]))
{
  $city_name = $A_ALT[$state_id][$city_name];
  $catSearchParams['City'] = $city_name;
}

【讨论】:

【解决方案2】:
if($state_id && !isset($A_CITY[(string)$state_id][(string)$city_name]) && isset($A_ALT[(string)$state_id][(string)$city_name]))
{
  $city_name = $A_ALT[$state_id][$city_name];
  $catSearchParams['City'] = $city_name;
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-06-21
    • 2019-11-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多