网络编程
位置:首页>> 网络编程>> php编程>> 详解PHP中数组函数的知识点

详解PHP中数组函数的知识点

作者:不要叫我阿哥  发布时间:2023-05-29 10:59:11 

标签:PHP,数组,函数

概念

关键字: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);
?>

详解PHP中数组函数的知识点

默认下标是从当前前面最大的开始(自动)

数组元素的顺序以放入顺序为准备,跟下标无关

多维数组

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);
?>

详解PHP中数组函数的知识点

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

arsort():逆序排序

详解PHP中数组函数的知识点

三:ksort():顺序排序:按照键名(下标)

krsort():逆序排序

详解PHP中数组函数的知识点

四:shuffle():随机打乱数组元素,数组下标重排

详解PHP中数组函数的知识点

来源:https://blog.csdn.net/m0_73770225/article/details/127930342

0
投稿

猜你喜欢

  • 译者按:我们时常能看到不同JavaScript库/框架之间的各种比较,但这次 YUI3 架构师和 jQuery 之父的直接对话却非常难得,也
  • 不可否认,阿里巴巴走得越来越快也越来越好。技术的成熟让很多B2B B2C网站都在跟风学习它们。在这里我就来说一说它的搜索效果吧。如图所示:&
  • 在seclists中看到一个很惊人的thread:http://seclists.org/oss-sec/2012/q2/493MySQL爆
  • 找到一句可以获得当前最新ID的语句,如下:conn.execute("insert into member (user,code)
  •     对于网页制作者来说,最烦琐的事情可能就是给页面中的图片或文字加链接了。假如页面内容很多的话,那么所做的
  • 我用FSO生成了unicode的文件,但这不是我想要的。FSO可以生成utf-8格式编码的html文件吗?用什么办法才能生成?FSO的编码问
  • 打过了趟深圳回来后,已经快半个月,在广州购书中心逛了下,发现2本前端书《重构HTML-改善WEB应用的设计》、《CSS3 实战》,看了一半《
  • 垃圾评论,垃圾留言,人见人憎,用了验证码,效果也好不到哪里去,还影响用户体验。有的网站甚至不惜牺牲用户体验,而构造强悍的惨不忍睹的超级验证码
  •  可用下列代码实现:<% set conn=server.creatobject("ADODB
  • 今天做项目时,有一个这样的需求,需要动态删除的Tab,比如:可以删除某一个,可以删除多个。每一个Tab对应一个iframe。本来我的代码是这
  •  大家都知道,Dreamweaver是是一款专业的网页设计工具,提供了许多方便、实用的功能,使得以前许多网页效果的实现从繁琐的代码
  • 数据库优化是一项很复杂的工作,因为这最终需要对系统优化的很好理解才行。尽管对系统或应用系统的了解不多的情况下优化效果还不错,但是如果想优化的
  • 农业银行总行1998年以来正式推广了新版网络版综合业务统计信息系统,该系统是基于WindowsNT4.0平台,采用客户/服务器模式,以Mic
  • 本游戏程序实现的功能为本地二人对弈中国象棋,实现语言为javascript+VML,在windows 2000 pro+IE 6sp1的环境
  • 就算我们每天在叫嚷着创新经济,设计救国,我们在生活中也无处不在的看到各种设计庸俗、制作粗劣的海报、店面、户外广告、大胸美女和肌肉 * 交相辉映
  • 相信认真做过网页设计(Web Design),或者关注过页面设计的同行都对“空格”不陌生。“空格”属于一类细节,很容易被忽略,但又比较影响效
  • 文章主要描述的是SQL Server数据库和Oracle数据库行转列的一种比较典型操作方法,对于有些业务来说,数据在表中的存储与其最终的Gr
  • PHP中的MYSQL常用函数1、mysql_connect()-建立数据库连接格式:resource mysql_connect([stri
  •  <% Rem  Rem ## 在线升级类声明 Class Cls_oUpdate
  • 毫无疑问,JavaScript 是一种非常灵活的脚本语言,有时候它像一只难以驯服的野马——你受益于它的灵活性的同时,也要时刻提防它变得失去控
手机版 网络编程 asp之家 www.aspxhome.com