在多维数组索引/键中使用的php安全字符串


php safe strings to use in a multi-dimensional array index/key

我想使用解析外部XML文档时产生的字符串作为数组中的索引。由于我不知道该文档中保存了什么类型的字符串——我是否应该使用任何检查或清理过程来确保php在数组中永远不会有不能用作键的字符串?

以下回答了我关于所用字符串大小(仅受可用内存限制)的问题,但没有回答是否有任何特殊类型的字符不能用作键:PHP数组键有大小限制吗?PHP数组的一般限制是什么?

任何字符串都适合作为数组索引。您不需要关心任何特殊字符,因为PHP不会试图解析这些字符串或从中获得任何"意义"。字符串是PHP的二进制blob,任何二进制字符串blob都可以。

$array[mcrypt_create_iv(1024, MCRYPT_DEV_RANDOM)] = 'foo';
$array[file_get_contents('bar.jpg')]              = 'bar';
$array["'x00'x01'x02'x03"]                        = 'baz';