数组php的直接表示,PHP 与 数组

关于PHP数组

很多编程语言都会提供各种数据结构,而PHP只提供了一种数据结构那就是数组。PHP数组的内核实现基于HashTable数据结构。

可以通过数字下标如 $array[0] ,也可以通过关键词 如 $array['hello'] 来访问。

创建数组

/**

* 通用写法

*/

$array = array(1, 2, 3, 'hello' => 1);

/**

* PHP5.4以上版本可用,短数组写法

*/

$array = [1, 2, 3, 'hello' => 1];

/**

* 无需声明,直接为数组赋值,PHP会自动创建一个数字索引数组

*/

$array[] = 1;

/**

* 无需声明,直接为数组赋值,PHP会自动创建一个关联索引数组

*/

$array['hello'] = 1;

数字索引数组

以连续数字为下标的数组,相当于其他编程语言的 List 结构。

$array = [];

$array[] = 1234;

$array[] = "hello";

$array[] = true;

var_dump($array[1]);

使用 [] 或 array_append 向数组尾部追加元素

使用数字下标访问元素,0 表示第1个元素,N 表示第 N+1 个元素(如 $array[1] 就表示第二个元素)

使用 array_pop 从数组尾部弹出元素,先进后出

使用 array_shift 从数组头部弹出元素,先进先出

关联索引数组

以任意数字、字符串作为下标的数组,相当于其他编程语言的 Map 结构。

$array["hello"] = "world";

$array[12345] = true;

var_dump($array["hello"]);

数组类型转换

关联索引数组,可以直接删除某个元素,unset($array[$key]) 即可

数字索引数组,不可以直接删除某个元素,强行删除会自动转换为关联索引数组,unset($array[1]) ,这个数组将变成关联索引数组,数组元素将变得不连续。可以使用 array_values 重新整理,转换为数字索引数组

var_dump(array_values($array));

这在 JSON 处理时尤为重要,关联索引数组会被转为 JS 的 {},而数字索引数组会转为 JS 的 [],如果对数字索引数组删除了某个元素,JS 中将得到 {} 类型,可以使用 array_values 解决此问题

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值