PHP数组深入学习

语法


php的数组分析

首先,php的数组是键值对,不像python或者有些语言,数组的索引是自增的,php的数组没有索引,是,这样就和有些语言中的字典很像。

键(key)只能是整数或者字符串,不能是别的数据类型
值(value)可以使任意类型的值,比如数组,整数,浮点数什么的。


语法

<?php
// 较老版本的写法
$array = array(
    "a" => "a",
    1 => "b",
);

// PHP5.4以后的写法
$array = [
    "a" => "apple",
    "b" => "banana",
    3 => "computer",
    "4" => "four",
]
?>

PHP定义一个数组的语法就是示例代码中的那样,要注意的就是版本的问题,PHP5.4以后的版本就不用再写array了,并且用的是方括号
如果数组中多个元素都使用了同样的键名,那么,只有保留最后一个键值对,前面的全部被覆盖


类型强制转换

PHP的数组会对KEY的值进行强制的类型转换:

  • 字符串:包含合法整形的字符串会被转换为整形。例如上面示例代码中的”4”,但是如果是”04”就不会进行强制转换,因为04不是一个合法的十进制数。

  • 浮点数:浮点数也会被转换为整形,不是四舍五入, 只保留整数部分,小数部分无论大小都会被舍去。

  • NULL:NULL会被转换为空字符串,也就是“”。

  • 布尔值:布尔值也会被转换成整形,true转换为1,false当然就是0了。

  • 数组和对象:数组和对象不能用作键名。


不定义键名的数组

key 为可选项。如果未指定,PHP 将自动使用之前用过的最大 integer 键名加上 1 作为新的键名。

PHP中文文档中的一段文字。说的是一个数组中,有的元素定义了KEY,有的元素没有定义KEY,针对没有定义KEY的元素的处理方式。

一个键名都没有定义的数组,使用索引。(这才像原汁原味的数组)
$array = array("a", "b", "c", "c");
// 或者
$array = ["a", "b", "c", "d"];

还有这种操作:

$array = array(
    "a",
    "b",
    "c",
    8 => "d",
    "e",
)

注意这个数组的索引,a,b,c的索引都是正常的0, 1, 2,到了d的时候,自定了KEY的值为8,那么e的KEY值就是9,KEY如果未指定,PHP将自动使用之前用过的最大integer键名加上1作为新的键名, 所以e的KEY值是9

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值