【问题标题】:php safe strings to use in a multi-dimensional array index/key在多维数组索引/键中使用的 php 安全字符串
【发布时间】:2013-12-17 12:03:14
【问题描述】:

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

以下回答了我关于使用的字符串大小的问题(仅受可用内存限制),但不回答是否有任何特殊类型的字符不能用作键:Are there size limits to PHP array keys? What are the limits in general for PHP arrays?

【问题讨论】:

  • 如果您想确保密钥对于您的内存限制来说不会太大,您可以使用 MD5 之类的方式对其进行加密,这样您就可以获得大小一致且唯一的密钥。

标签: php arrays array-key


【解决方案1】:

Any 字符串适合作为数组索引。您不需要关心特殊字符,因为 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';

【讨论】:

    猜你喜欢
    • 2013-11-05
    • 1970-01-01
    • 1970-01-01
    • 2015-07-23
    • 2012-09-12
    • 2013-04-20
    • 2013-05-25
    • 2011-07-28
    • 1970-01-01
    相关资源
    最近更新 更多