php数组实验总结,学习PHP的数组总结【经验】

什么是数组?数组就是被命名的用来存储一系列数值的地方。数组array是非常重要的数据类型。相对于其他的数据类型,它更像是一种结构,而这种结果构可以存储一系列数值。数组能够在单一变量名中存储许多值,并且能够通过引用下标号来访问某个值。

在 PHP 中,有三种数组类型:

索引数组 - 带有数字索引的数组

关联数组 - 带有指定键的数组

多维数组 - 包含一个或多个数组的数组

创建数组

array(key => value)

创建索引数组

使用array()函数声明数组。PHP属于弱类型语言相对较灵活和方便,也可以直接是数组的元素值value,不需要键值key,索引是自动分配的(索引从 0 开始)。

例:

array("1" => "百度","2" => "阿里","3" => "腾讯");

或者是不使用键值:

array("百度","阿里","腾讯");

当然也可以写成:

$arr[0] = "百度";

$arr[1] = "阿里";

$arr[2] = "腾讯";

创建关联数组

关联数组和索引数组类似,只是关联数组不能够像索引数组的键名那样只能够为数字,它可以是数值和字符串以及混合形式,判断一个数组是否为关联数组的依据是:数组中的键名是否存在一个不是数字的。不是就是关联。

array("李彦宏" => "百度","马云" => "阿里","马化腾" => "腾讯");

多维数组

array(array(),array()) 二维数组

获得数组的长度 - count() 函数

//结果返回3(说明数组中有三个元素)

遍历数组

输出数组中元素的值。对于索引数组常用for、foreach;对于关联数组常用foreach。使用print_r()函数打印循环后的结果,也可以用var_dump()。

遍历索引数组

遍历并输出索引数组的所有值,可以使用for、 foreach(array_expression as $value) 、foreach (array_expression as $key => $value) 循环,如下:

使用for循环

"; //换行显示

print_r($data);

打印结果显示如下:

Array

(

[0] => 百度

[1] => 阿里

[2] => 腾讯

)

使用foreach循环

"; //换行显示

print_r($data);//打印结果和上面一样

注意:data后面有一个数组符号[],为什么呢?

遍历关联数组

遍历并输出关联数组的所有值,可以使用 foreach (array_expression as $key => $value) 循环,如下:

"百度","马云" => "阿里","马化腾" => "腾讯");

foreach ($arr as $key => $value) {

$data[$key] = $value;

}

echo ""; //换行显示

print_r($data);

打印结果显示:

Array

(

[李彦宏] => 百度

[马云] => 阿里

[马化腾] => 腾讯

)

注意到没?此时的data后是[$key]?而不是[]

一个数关联数组一个是数字索引数组,

增加删除数组的元素

在数组元素的尾部增加

array_push(array,value1,value2...) 函数向第一个参数的数组尾部添加一个或多个元素(入栈),然后返回新数组的长度。

该函数等于多次调用 $array[] = $value。

"; //换行显示

print_r($arr);

打印结果显示:

Array

(

[0] => 百度

[1] => 阿里

[2] => 腾讯

[3] => 知乎

[4] => 微博

)

在数组元素的开始增加

array_unshift(array,value1,value2,value3...) 函数用于向数组插入新元素。新数组的值将被插入到数组的开头。

"; //换行显示

print_r($arr);

打印结果显示:

Array

(

[0] => 知乎

[1] => 微博

[2] => 百度

[3] => 阿里

[4] => 腾讯

)

在数组元素的尾部删除

array_pop(array) 函数删除数组中的最后一个元素。

"; //换行显示

print_r($arr);

打印结果显示:

Array

(

[0] => 百度

[1] => 阿里

)

在数组元素的开始删除

array_shift(array) 函数删除数组中第一个元素 并可以返回被删除元素的值。

"; //换行显示

print_r($arr);

打印结果显示:

Array

(

[0] => 阿里

[1] => 腾讯

)

移除数组中重复的值

array_unique(array) 函数移除数组中的重复的值,并返回结果数组。

";

print_r($data);

打印结果显示:

Array

(

[0] => 百度

[1] => 阿里

[2] => 腾讯

[4] => 微博

)

定位数组元素

搜索数组中存在的值

in_array(search,array,type)检查数组中是否存在指定的值。

如果给定的值 search 存在于数组 array 中则返回 true。如果第三个参数设置为 true,函数只有在元素存在于数组中且数据类型与给定值相同时才返回 true。如果没有在数组中找到参数,函数返回 false。

";

print_r($data);

打印结果显示:

Array

(

[0] => 百度

[1] => 阿里

[2] => 腾讯

[3] => 知乎

)

array_splice(array,start,length,array) 函数从数组中移除选定的元素,并用新元素取代它。该函数也将返回包含被移除元素的数组。

";

print_r($arr1);

打印结果显示:

Array

(

[0] => 知乎

[1] => 微博

[2] => 腾讯

)

数组合并、拆分、比较

array_merge()函数将数组合并到一起,返回一个联合的数组。所得到的数组以第一个输入数组参数开始,按后面数组参数出现的顺序依次追加。

";

print_r($data);

打印结果显示:

Array

(

[0] => 百度

[1] => 阿里

[2] => 腾讯

[3] => 知乎

[4] => 微博

)

递归追加数组

array_merge_recursive()函数与array_merge()相同,可以将两个或多个数组合并到一起,形成一个联合的数组。两者之间的区别在于,当某个输入数组中的某个键已经存在于结果数组中时该函数会采取不同的处理方法。array_merge()会覆盖前面存在的键/值对,将其替换为当前输入数组中的键/值对,而array_merge_recursive()将两个值合并在一起,形成一个新的数组并以原有的键作为数组名。其形式为:

$arr= array('one'=>'C', 'one'=>'B');

$arr1= array('three'=>'1', 'one'=>'2');

$arr2= array_merge_recursive($arr, $arr1);

echo "

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值