使用电子邮件ID作为php中数组的键是否安全

时间:2016-04-28 20:23:01

标签: php arrays array-key

我正在尝试在php中执行以下操作

array(
  'email@domain.com' => 'something',
  ...
);

我确实读过php接受并将数字或有效字符串作为键。

将电子邮件ID作为上述数组中的键是否安全? 安全我的意思是,当用这个

进行编码时,这可能会导致任何类型的错误或异常或问题

注意: 我会在这个数组中有几个100项目,这是我需要注意的事情

请告诉我

1 个答案:

答案 0 :(得分:4)

简答:如果它可以是PHP中的字符串,那么现在它可以安全地用作关联数组键。

答案很长:来自PHP manual

  

密钥可以是整数或字符串。值可以是任何值   类型。

     

此外还会发生以下关键演员:

     

包含有效整数的字符串将强制转换为整数类型。   例如。关键" 8"实际上将存储在8下。另一方面   " 08"不会被强制转换,因为它不是有效的十进制整数。

     

花车是   也转换为整数,这意味着小数部分将是   截断。例如。密钥8.7实际上将存储在8下。Bools是   也转换为整数,即关键字真实存储在其中   1,密钥假为0。

     

Null将被强制转换为空字符串,   即,密钥null实际上将存储在""。

下      

数组和对象   不能用作钥匙。这样做会导致警告:非法   偏移类型。

     

如果数组声明中有多个元素使用   相同的密钥,只有最后一个将被用作所有其他密钥   覆盖。