$ar['123'] = "test";
var_dump($ar); // Key is int
$ar2['123a'] = "test";
var_dump($ar2); //Key is string
为什么会这样?有工作吗?我希望将数字键作为字符串而不是整数。
日Thnx
答案 0 :(得分:0)
您可以在需要时使用“123”作为数字。你也可以将“123”字符串或strlen作为字符串。 php变量很灵活。
答案 1 :(得分:0)
您不必担心PHP中的数据类型,转换会自动为您完成。
举一个例子,以下代码:
<?php
if("10" == 10)
{
echo "It's equal!";
}
?>
实际输出:
它是平等的!
您可以在此处看到它:http://ideone.com/aayLx
底线是:不用担心,PHP会在需要时将其视为字符串。
答案 2 :(得分:0)
您可以将键转换为字符串,但由于PHP的松散输入,它最终会转换为整数。从手册http://php.net/manual/en/language.types.array.php
键可以是整数或字符串。如果一把钥匙是标准 表示整数,它将被解释为这样(即“8” 将被解释为8,而“08”将被解释为“08”。
答案 3 :(得分:0)
当字符串是整数时,字符串会自动转换为整数。有关详细信息,请参阅http://php.net/manual/en/language.types.array.php。
要解决此问题,必须在整数前加上0:
$ar2["0123"] will use '123' as the key