PHP 笔记7 数组

目录

数组

数组定义:

PHP数组特点:

多维数组: 

遍历数组:

foreach遍历数组

for循环遍历

while配合each和list遍历

 数组相关的函数:

排序函数:

指针函数:

 其他函数:


数组

数组定义:

  • array关键词定义:
$变量 = array(元素1,元素2,元素3..);

 另一种方式,与字典相似

$变量 = array('下标' => '元素');

  • [ ] 中括号定义:
$变量 = [元素1,元素2…];

 

  • 隐形定义数组:给变量增加一个中括号,系统自动变成数组
$变量[] = 值1;	//如果不提供下标也可以,系统自动生成,从最后写到的下标开始往后标
$变量[下标] = 值;	//中括号里面的内容称之为下标key,该下标可以是字母(单词)或者数字,

PHP数组特点:

1、可以整数下标或者字符串下标:

若数组下标均为整数,则称为索引数组

若数组下标均为字符串,则称为关联数组。

混合下标的话称为混合数组

2、数组元素的顺序以放入顺序为准,与下标无关

3、数字下标的增长特性:

从0开始自动增长,若中间手动加入较大的下标,则后面则会从当前最大下标 +1增长。

4、特殊值下标的自动转换:

    布尔值:true和false

     空:NULL 

 5、PHP数组中类型元素没有限制。

6、PHP中数组元素没有长度限制。c++ vector

多维数组: 

数组里面的元素也是数组

<pre> 标签可定义预格式化的文本。

被包围在 <pre> 标签 元素中的文本通常会保留空格和换行符。而文本也会呈现为等宽字体。

print_r() 可以打印出复杂类型变量的值(如数组,对象)

遍历数组:

foreach遍历数组

 foreach遍历的原理:本质是数组的内部有一颗指针,默认是指向数组元素的第一个元素,foreach就是利用指针去获取数据,同时移动指针

1、 foreach会重置指针:让指针指向第一个元素;

foreach($数组变量 as $下标 => $值){
	//通过$下标访问元素的下标;通过$值访问元素的值
}


2、 进入foreach循环:通过指针取得当前第一个元素,然后将下标取出放到对应的下标变量k 中 ( ‘ 如 果 存 在 ‘ ) , 将 取 出 来 放 到 对 应 的 值 变 量 v中)(指针下移)
3、 进入到循环内部(循环体),开始执行;
4、 重复2和3,直到在2的时候遇到指针取不到内容(指针指向数组最后)

for循环遍历

1、获取数组长度:count(数组)得到数组元素的长度
2、要求数组元素的下标是规律的数字

while配合each和list遍历

each()函数的使用:
each能够从一个数组中获取当前数组指针所指向的元素的下标和值,拿到之后将数组指针下移,同时将拿到的元素下标和值以一个四个元素的数组返回:

  • 1下标 => 取得元素的值 
  • Value下标 => 取得元素的值
  • 0下标 => 取得元素的下标值
  • Key下标 => 取得元素的下标值

list结构的使用:
list提供一堆变量去从一个数组中取得元素值,然后依次存放到对应的变量当中(批量为变量赋值:值来源于数组):list必须从索引数组中去获取数据,而且必须从0开始。

 数组相关的函数:

排序函数:

  • sort():顺序排序(下标重排)

  • rsort():逆序排序

  • asort():顺序排序(下标保留)

  • arsort():逆序排序

  • ksort():顺序排序:按照键名(下标)来排序,和值无关

  • krsort():逆序排序  

  • shuffle():随机打乱数组元素,数组下标会按序重排 

指针函数:

echo 指针函数($数组变量名);
echo reset($array);
  • reset( ):将数组的内部指针指向第一个单元;
  • end ( ) : 将数组指针指向最后一个元素;
  • next ( ): 指针下移,取得下一个元素的值
  • prev ( ):  指针上移,取得上一个元素的值

  • current  ( ):  获取当前指针对应的元素值
  • key ( ):获取当前指针对应的下标值

注意事项:next和prev会移动指针,有可能导致指针移动到最前或者最后(离开数组),导致数组不能使用,通过next和prev不能回到正确的指针位置。只能通过end或者reset进行指针重置

 其他函数:

  • count():统计数组中元素的数量
  • array_push():往数组中加入一个元素(数组后面)
  • array_pop():从数组中取出一个元素(数组后面)
  • array_shift():从数组中取出一个元素(数组前面)
  • array_unshift():从数组中加入一个元素(数组前面)
  • array_reverse():数组元素反过来
  • in_array():判断一个元素在数组中是否存在
  • array_keys():获取一个数组的所有下标,返回一个索引数组
  • array_values():获取一个数组的所有值,返回一个索引数组

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值