无法通过键获取数组元素,但键存在于数组中

Cannot get array element by key, but key exists on array

我正在使用 Drupal 8,但由于这对我来说看起来像是一个 PHP 问题,所以我在这里而不是在 Drupal Answers 上提问。

下面代码中的isset语句应该是returnTRUE,但不是:

/*
$specifier = 'field_google_hire_identifier‎'
$field_storage_definitions = array of objects
*/

var_dump(
  isset($field_storage_definitions[$specifier]),
  $specifier,
  $field_storage_definitions[$specifier],
  $field_storage_definitions
);
die;

屏幕输出: 其他数组元素... 其他数组元素...

原始输出HTML:https://codepen.io/anon/pen/ZwRJdR

数组键:

var_dump( array_keys($field_storage_definitions));

屏幕输出:

我有点不懂为什么 isset($field_storage_definitions[$specifier]FALSE$field_storage_definitions[$specifier]NULL

我卸载了 APC 并禁用了 Opcache。

如果我是你,我会试试这个:

$true_Array = (Array)$array_With_Object;

字符串的末尾有一个 right to left mark,用于 select 数组键。由于字符串和数组键不相同,因此无法检索到数组键。

可以使用

删除从左到右的标记
preg_replace('/\p{C}+/u', "", $string)

您可以使用

检查字符串是否包含不可见字符
json_encode($string)