php数组(一)
一、概念
PHP 中的数组实际上是一个有序映射。映射是一种把 values 关联到 keys 的类型。此类型在很多方面做了优化,因此可以把它当成真正的数组,或列表(向量),散列表(是映射的一种实现),字典,集合,栈,队列以及更多可能性。
二、数组的创建
可以用 array() 语言结构来新建一个数组。它接受任意数量用逗号分隔的 键(key) => 值(value)对。
1array( key => value
2 , ...
3 )
4// 键(key)可是是一个整数 integer 或字符串 string
5// 值(value)可以是任意类型的值
最后一个数组单元之后的逗号可以省略。通常用于单行数组定义中,例如常用 array(1, 2) 而不是 array(1, 2, )。对多行数组定义通常保留最后一个逗号,这样要添加一个新单元时更方便。
注:
1、自 5.4 起可以使用短数组定义语法,用 [] 替代 array()。
2、经常也会使用explode字符串分隔函数来创建数组。
示例:
1<?php
2$array = array(
3 "foo" => "bar",
4 "bar" => "foo",
5);
6// 自 PHP 5.4 起
7$array = [
8 "foo" => "bar",
9 "bar" => "foo",
10];
11?>
注:key 为可选项。如果未指定,PHP 将自动使用之前用过的最大 integer 键名加上 1 作为新的键名。
如下例,通过var_dump函数输出数组:
1<?php
2$array = array(
3 "a",
4 "be",
5 6 => "c",
6 "dfg",
7);
8var_dump($array);
9?>
10//输出结果为:
11array(4) {
12 [0]=>
13 string(1) "a"
14 [1]=>
15 string(2) "be"
16 [6]=>
17 string(1) "c"
18 [7]=>
19 string(3) "dfg"
20}
注:以上未指定key键,而通过数值递增出现的数组习惯上我们称之为数值数值(即每个元素都有一个数字ID键)。与之相对应的是关联数组(即在存储值时,通过key->vaule的方式对应)。如:
1$ages = array("Peter"=>32, "Quagmire"=>30, "Joe"=>34);
三、多维数组
多维数组可以理解为数组的嵌套,即数组里的元素也是一个数组。如:
1<?php
2$families = array
3(
4 "Griffin"=>array("Peter", "Lois", "Megan"),
5 "Quagmire"=>array("Glenn"),
6 "Brown"=>array("Cleveland", "Loretta", "Junior")
7);
8//var_dump($families);
9print_r($families);
10?>
11//执行后其输出结果为:
12Array
13(
14 [Griffin] => Array
15 (
16 [0] => Peter
17 [1] => Lois
18 [2] => Megan
19 )
20 [Quagmire] => Array
21 (
22 [0] => Glenn
23 )
24 [Brown] => Array
25 (
26 [0] => Cleveland
27 [1] => Loretta
28 [2] => Junior
29 )
30)
四、修改数组内容
常用用来修改数组值的方法是用方括号的语法来修改数组:$arr[] = value ,如:
1$arr = array("a" => "视频", "b"=>"教程", "c" => "六");
2$arr['a'] = "运维";
3$arr['c'] = "之路";
4print_r($arr);
注:在向数组内增加元素时,经常会用到另外一个函数array_push() 。
捐赠本站(Donate)
如您感觉文章有用,可扫码捐赠本站!(If the article useful, you can scan the QR code to donate))
- Author: shisekong
- Link: https://blog.361way.com/php-array-create-modify/2980.html
- License: This work is under a 知识共享署名-非商业性使用-禁止演绎 4.0 国际许可协议. Kindly fulfill the requirements of the aforementioned License when adapting or creating a derivative of this work.