详解PHP中数组函数的知识点
作者:不要叫我阿哥 发布时间:2023-05-29 10:59:11
概念
关键字:array,数据的组合(多个)存储到一个指定的容器中,用变量指向该容器,然后可以通过变量一次性得到该容器中的所有数据.
数组定义语法
1.使用array关键字(最常用)
$变量=array(元素1,元素2,元素3);
2.可以使用中括号来包裹数据
$变量=[元素1,元素2...];
3.隐形定义数组:给变量增加一个中括号,系统自动变成数组
$变量[]=值1;
$变量[下标]=值//中括号里面的内容称之为下标key,该下标可以是字母(单词)或者数字,与变量命名的规则相似
如下:
1.
<?php
$arr1=array('1',2,'hello');
var_dump($arr1);
?>
2.
<?php
$arr1=['1',2,'hello'];
var_dump($arr1);
?>
3.
<?php
$arr3[]=1;
$arr3[10]=100;
$arr3[]='1';
$arr3['key']='key';
var_dump($arr3);
?>
默认下标是从当前前面最大的开始(自动)
数组元素的顺序以放入顺序为准备,跟下标无关
多维数组
1.二维数组
数组中所有的元素都是一维数组
<?php
$info=array(
array('name'=>'jim','age'=>30),
array('name'=>'tom','age'=>28),
array('name'=>'lily','age'=>20)
);
echo'<pre>';
print_r($info);
?>
2.多维数组
在第二维的数组元素中可以继续是数组
3.异形数组
数组中元素不规则,又基本变量也有数组
数组遍历
使数组中所有的数据依次输出出来,使用一些简化的规则来实现自动获取下标以及输出数组元素
<?php
$arr=array(0=>array('name'=>'Tom'),1=>array('name'=>'jam'));//二维数组
//访问一维元素:$arr[一维下标]
$arr[0];
//访问二位元素:$arr[一维下标][二维下标]
$arr[1]['name'];
?>
foreach遍历语法
foreach($数组变量 as[$下标=>]$值){
//通过$下标访问元素的下标,通过$值访问元素的值
}
通常:如果是关联数组(字母下标),就需要下标,如果是数字下标就直接访问值
<?php
$arr=array(1,2,3,4,5,6,7,8,9);
foreach($arr as $v){
//$v随意命名
echo $v,'<br/>';
}
?>
如想获取下标:
<?php
$arr=array(1,2,3,4,5,6,7,8,9,10);
foreach($arr as $k => $v){
//$v随意命名
echo 'key:',$k,'==value:',$v,'<br/>';
}
?>
foreach遍历的原理:本质是数组的内部有一颗指针,默认指向数组元素的第一个元素,foreach就是利用指针去获取数据,同时移动指针
步骤:
1.foreach会重置指针:让指针指向第一个元素
2.进入foreach循环:通过指针取得当前第一个元素,然后将下标取出放到对应的下标遍历k中,将值取出来放到对应的值变量 $v中,然后指针下移
3.进入循环内部(循环体),开始执行
4.重复2和3,直到在2的时候遇到执政娶不到内容(指针指向数组最后)
for循环遍历数组
1.获取数组长度:count(数组)得到数组的长度
2.要求数组元素的下标是规律的数字
<?php
$arr=array(1,2,3,4,5,6,7,10);
for($i=0;$i<count($arr);$i++)
echo 'key is:',$i,'and value is:',$arr[$i],'<br/>';
?>
数组的排序函数
对数组元素进行排序,都是按照ASCLL码进行比较,所以可进行英文比较(这里一组一个例子)
一:sort():顺序排序(下标重排)
rsort():逆序排序
<?php
$arr=array(3,1,5,2,0);
echo '<pre>';
sort($arr);//此后只需改变函数关键字即可进行各种排序
print_r($arr);
?>
二:asort():顺序排序(下标保留)
arsort():逆序排序
三:ksort():顺序排序:按照键名(下标)
krsort():逆序排序
四:shuffle():随机打乱数组元素,数组下标重排
来源:https://blog.csdn.net/m0_73770225/article/details/127930342
猜你喜欢
- 炸金花题目很简单:就是自己写一个程序,实现诈金花游戏的发牌、判断输赢。规则:一付扑克牌,去掉大小王,每个玩家发3张牌,最后比大小,看谁赢。牌
- 在使用pycharm开发工具连接mysql数据库时提示错误,信息如下:Server returns invalid timezone. Go
- 在设计中保持一致性(uniformity)是网页设计中一个重要的组成部分,它能使你的设计有效地传达信息而不会导致用户迷惑或焦虑。保证一致性的
- 1.vue中echarts的使用 引入echarts后let myChart = echarts.init(document.getElem
- Laravel 中间件提供了一种方便的机制来过滤进入应用的 HTTP 请求。例如,Laravel 内置了一个中间件来验证用户的身份认证。如果
- TensorFlow里面的padding只有两个选项也就是valid和samepytorch里面的padding么有这两个选项,它是数字0,
- 这是一个很和谐很实用的网站管理程序,和我以前介绍的服务器管理程序不同的是,这个程序只有一个功能,就是实现远程Web方式删除文件(实际上是重命
- 第一种方法(推荐)适用于随机取一个值, 返回一个值import randomlist1 = ['佛山', '南宁
- pyecharts介绍pyecharts是python与echarts链接,一个用于生成Echarts图标的第三方库,pyecharts分为
- 前言在日常开发中,我们经常需要判断目标元素是否在视窗之内或者和视窗的距离小于一个值(例如 100 px),从而实现一些常用的功能,例如:图片
- 查策实战场景本次要采集的目标站点是查策,该测试站点如下所示。目标站点网址如下www.chacewang.com/chanye/news?ne
- 目录一 列表二 集合三 字典总结一 列表# 列表:包含0个或多个对象引用的有序队列,用中括号[]表示# 增加 a = [] a.append
- 基本概念当前读与快照读在MVCC中,读操作可以分成两类:快照读 (snapshot read)与当前读 (current read)。 快照
- 简单了解多子图学习matplotlib的时候,有人肯定会觉得为啥不用Excel,为啥不用origin,为啥不直接使用软件,其实matplot
- WordPress 3.0 引入导航菜单功能, 让页面的导航和链接的管理变得简单易用. WP 向用户提供了菜单管理页面和多种调用方法, 我们
- 概述今天主要分享下mysql数据库应该如何正确的删除binlog日志,这里要注意不要强制使用rm命令进行清除。否则mysq-bin.inde
- 这里会讨论令Oracle停机时间最小化的步骤。各种形式的停机--计划的或者是非计划的--总是不断地发生,一个DBA应该有正确的备份策略,这样
- 1. timeit.timeit(stmt=‘pass', setup=‘pass', timer=<default
- 准确地讲,Python没有专门处理字节的数据类型。但由于str既是字符串,又可以表示字节,所以,字节数组=str。而在C语言中,我们可以很方
- 前言在对DataFrame数据进行处理时,存在需要对数据内容进行遍历的场景。因此记录一下按照行,列遍历的几种方式。一、按行遍历1. 使用lo