使用具有键值的句点的数组

Bro*_*ke. 9 php arrays period

我从数组中获取数据.由于某种原因,该数组具有键值[3.3],我无法从中检索数据.

我有这个数组[3.3] => First Name [3.6] => Last Name[2] => email@example.com.

当我尝试调用$array[3.3]它时返回null,但是当我打电话给$array[2]我时,我收到了电子邮件.有任何想法吗?

Bra*_*tie 24

在引用键值时使用单引号(基本上将其视为字符串,这就是PHP可能正在做的事情)

echo $array['3.3'];
Run Code Online (Sandbox Code Playgroud)

  • 一件事:如果你的'3.0'是变量中的任何机会(即`$ x ='3.0';`)而你正试图做`$ myarr [$ x] ="哇!"`,'你'我需要做一些像`$ myarr ["'{$ x}'"] ="哇!"的事情.只需我5美分...... (2认同)

Mir*_*nor 14

来自php手册:

键中的浮点数被截断为整数.

所以你试图获得不存在的$ array [3],所以你得到Null


GSP*_*GSP 8

键可以是整数或字符串.如果一个键是整数的标准表示,它将被解释为这样(即"8"将被解释为8,而"08"将被解释为"08").键中的浮点数被截断为整数.索引和关联数组类型在PHP中是相同的类型,它们都可以包含整数和字符串索引.

因为一个float总是被截断为一个整数(例如3.3将总是被数组解释为3)我想知道你的数组是否期望String不是float.你试过$ array ["3.3"]而不是$ array [3.3]吗?

  • ""8"将被解释为8".值得注意的是,在INT使用32位的平台上,当string在需要超过32位的整数的标准表示中(例如"3206519370")时,它将保持为字符串键并且不会转换为int(会导致溢出). (2认同)