无法通过键获取数组元素,但键存在于数组中
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)
我正在使用 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)