Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/274.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
用于多维数组索引/键的php安全字符串_Php_Arrays_Array Key - Fatal编程技术网

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

用于多维数组索引/键的php安全字符串,php,arrays,array-key,Php,Arrays,Array Key,我想使用解析外部XML文档时产生的字符串作为数组中的索引。由于我不知道该文档中保存了什么类型的字符串,所以是否应该使用任何检查或清理过程来确保数组中没有php不能用作键的字符串 下面回答了我关于使用的字符串大小(仅受可用内存限制)的问题,但没有回答是否有任何特殊类型的字符不能用作键:任何字符串都适合用作数组索引。您不需要关心任何特殊字符,因为PHP不会试图解析这些字符串或从中获取任何“含义”。字符串是PHP的二进制blob,任何二进制字符串blob都可以 $array[mcrypt_create

我想使用解析外部XML文档时产生的字符串作为数组中的索引。由于我不知道该文档中保存了什么类型的字符串,所以是否应该使用任何检查或清理过程来确保数组中没有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';

如果您想确保密钥对于内存限制来说不会太大,您可以使用类似MD5的东西对它们进行加密,这样您就可以得到一个大小一致且唯一的密钥。