设置 PHP 数组元素时出现非法字符串偏移警告


Illegal string offset warning on setting PHP array element

我会尝试使用以下代码设置数组的元素:

if (empty($table['keys'])){
    $table['keys']=array(
        'primary_key'=>array(
            'id'
        )
    );
}

但是我得到了"非法字符串偏移..."警告。我还尝试了另一个数组键,以防"keys"索引将是保留关键字,但它会犯同样的错误。

变量$table似乎是一个字符串。 在 if 语句之前尝试此操作:

if(!is_array($table)) $table = [];

或者如果更改仅在 $ 平板电脑是数组时才发生

if(is_array($table)) {
  if(!array_key_exists('keys', $table)||empty($table['keys'])) {
    $table['keys']=array(
        'primary_key'=>array(
            'id'
        )
    );
  }
}

像这样试试

if( empty($table['keys']) ){
 $table['keys'] = [
   'primary_key' => [
      'id' => ""
    ]
 ];
}