PHP数组数据结构图,PHP数组与数据结构
数组的英文是array,可以存入多个不同类型的数据,是一个复合数据类型。
eg:
$shu = array(1 , 1.5 , true ,'天王盖地虎,小鸡炖蘑菇');
echo '
';
var_dump($shu);
echo '
';
?>
在上例中,我们发现我们存入了:
1.整型
2.浮点
3.布尔
4.字符串
注:上例中echo pre这个标签的主要目的是为原样输出,格式展示的更好看,更清晰。
我们用var_dump()打印出来显示看一下效果:
注:
索引数组的下标必须要从0开始吗?
答:这个问题其实不然,索引数组并不一定要从0开始。
那如何能够不从0开始呢?
答:需要用到大家在上面学的一小块知识哟。就是键值对应符。我们来动手写写。
$kele = array('只有不断努力才能博得未来',10 => 'NoAlike', 'PHP中文网' , '去PHP中文网学PHP', 19 => '苹果和梨子我都爱' , '橘子我最爱');
//打印显示$kele
echo '
';
var_dump($kele);
echo '
';
?>
1.for循环遍历索引数组
//声明一个数组,值为1到10
$num = array(1,2,3,4,5,6,7,8,9,10);
//按照索引数组的特点,下标从0开始。所以1的下标为0,10的下标为9
echo $num[0].'
';
echo $num[9].'
';
//我们可以得到数组中元素的总个数,为10
echo count($num);
//遍历这个索引数组的话,我们就可以定义一个变量为$i
//$i 的值为0,从0开始
//可以设定一个循环条件为:$i 在下标的(9)最大值之内循环
for($i = 0 ; $i < count($num) ; $i++){
echo $num[$i].'
';
}
?>
通过上面的例子,我们就把数组进行了循环。
因为下标是从0开始的,定义
i 加1 ,但是必须要小于10,因为数组下标的最大值为9。
2.常用操作数组函数
函数
功能
array_shift
弹出数组中的第一个元素
array_unshift
在数组的开始处压入元素
array_push
向数组的末尾处压入元素
array_pop
弹出数组末尾的最后一个元素
current
读出指针当前位置的值
key
读出指针当前位置的键
next
指针向下移
prev
向上移
reset
指针到开始处
end
指针到结束处
这些函数,也是面试中基础面试中最爱问到的问题。
函数名
功能
array_combine()
生成一个数组,用一个数组的值作为键名,另一个数组值作为值
range()
创建并返回一个包含指定范围的元素的数组。
compact()
创建一个由参数所带变量组成的数组
array_fill()
用给定的值生成数组
array_chunk()
把一个数组分割为新的数组块
array_merge()
把两个或多个数组合并为一个数组
array_slice()
在数组中根据条件取出一段值,并返回
array_diff()
返回两个数组的差集数组
array_search()
在数组中搜索给定的值,如果成功则返回相应的键名
array_splice()
把数组中的一部分去掉并用其它值取代
array_sum()
计算数组中所有值的和
in_array()
检查数组中是否存在某个值
array_key_exists()
检查给定的键名或索引是否存在于数组中
shuffle()
将数组打乱,保留键值
count()
计算数组中的单元数目或对象中的属性个数
array_flip()
返回一个键值反转后的数组
array_keys()
返回数组所有的键,组成一个数组
array_values()
返回数组中所有值,组成一个数组
array_reverse()
返回一个元素顺序相反的数组
array_count_values()
统计数组中所有的值出现的次数
array_rand()
从数组中随机抽取一个或多个元素,注意是键名
array_unique()
删除重复值,返回剩余数组
sort()
按升序对给定数组的值排序,不保留键名
rsort()
对数组逆向排序,不保留键名
asort()
对数组排序,保持索引关系
arsort()
对数组逆向排序,保持索引关系
ksort()
按键名对数组排序
krsort()
将数组按照键逆向排序
natsort()
用自然顺序算法对数组中的元素排序
natcasesort()
自然排序,不区分大小写
array_filter()
去掉数组中的空元素或者预定元素
extract
将键变为变量名,将值变为变量值
eg:弹出数组中的第一个元素
$mingren = array("邓超", "黄晓明", "宁泽涛", "钟汉良");
$dc = array_shift($mingren);
echo $dc .'
';
print_r($mingren);
?>
PHP数组数据结构图,PHP数组与数据结构相关推荐
- js 模糊筛选 筛选数组数据_jquery遍历数组与筛选数组的方法
grepgrep()方法用于数组元素过滤筛选 grep(array,callback,invert) array:待过滤数组; callback:处理数组中的每个元素,并过滤元素,该函数中包含两个参数 ...
- Vue中构造数组数据-map和forEach方法梳理
数组操作是前端最重要的数据操作,构造数组数据,又是数组操作中很常见的.本文将梳理下map和forEach方法在Vue项目中的使用. 想要深入理解这两个方法,一定要手写几次简易的实现,理解其中的要义.这 ...
- android 获取数组大小,看得见的数据结构Android版之数组表(数据结构篇)
零.前言: 一讲到装东西的容器,你可能习惯于使用ArrayList和数组,你有想过ArrayList和数组的区别吗? Java的类起名字都不是随便乱起的,一般前面是辅助,后面是实质:ArrayList ...
- 【java进阶06:数组】使用一维数组模拟栈数据结构 使用二维数组模拟酒店,酒店管理系统 Arrays工具类 冒泡排序算法、选择排序算法、二分法
目录 数组 二维数组 总结 作业 Arrays工具类 数组 数组总结 及 静态初始化一维数组 /* Array:1.java语言中的数组是一种引用数据类型,不属于基本数据类型,数组的父类是Object ...
- c++ 将集合set的数据输出到数组中_Java集合类(容器类)简介:(摘抄)
Java集合可用于存储数量不等的对象,并可以实现常用的数据结构(如栈.队列等待),还可以用于保存具有映射关系的关联数组.Java集合就一种容器,可以把多个对象放进容器中,Java集合可以记住容器中的对 ...
- 数据结构与算法--数组:二维数组中查找
数组 数组最简单的是数据结构,占据一整块连续的内存并按照顺序存储数据,创建数组时候,我们需要首先指定数组的容量大小,然后根据大小分配内存.即使我们只在数组中存储一个元素,亚需要为所有数据预先分配内存, ...
- 数组合并假设有 n 个长度为 k 的已排好序(升序)的数组,请设计数据结构和算法,将这 n 个数组合并到一个数组,且各元素按升序排列。即实现函数-C-icoding-排序-数据结构
数组合并 假设有 n 个长度为 k 的已排好序(升序)的数组,请设计数据结构和算法, 将这 n 个数组合并到一个数组,且各元素按升序排列.即实现函数: void merge_arrays(const ...
- c语言uint8的数组怎么转换为uint32_剖析JS和Redis的数据结构设计:数组
语言的数据结构相通性 最近读了Redis的原理实现,感受到程序语言的相通性,只要你掌握了语言的共性,触类旁通其他语言的开发就变得非常简单了. 总体来说,各种程序语言底层的设计思想是非常相通的,首先针对 ...
- js 取得数组下标_剖析JS和Redis的数据结构设计:数组
语言的数据结构相通性 最近读了Redis的原理实现,感受到程序语言的相通性,只要你掌握了语言的共性,触类旁通其他语言的开发就变得非常简单了. 总体来说,各种程序语言底层的设计思想是非常相通的,首先针对 ...
- html5数组删除相同数据,js数组相减简单示例【删除a数组所有与b数组相同元素】...
js数组相减简单示例[删除a数组所有与b数组相同元素] 本文实例讲述了js数组相减.分享给大家供大家参考,具体如下: js数组相减 function arrChange( a, b ){ for (v ...
最新文章
- CCS卸载安装过程及所遇问题
- 博客园Markdown模式的MATLAB代码高亮方案
- RESTful API 设计指南[转]
- Linux 复习重点目录
- linux系统挂载磁盘慢,arch开机速度竟然是挂载磁盘拖慢了。。
- html5 渐变色矩形,使用HTML5画布元素的矩形渐变
- SpringCloud 阶段总结
- 一枚比特币30多万,家用电脑24小时挖矿,多久才能挖到一枚?
- 小米5x对标OV,突围荣耀,能否成功?
- CentOS系统里如何正确取消或者延长屏幕保护自动锁屏功能(图文详解)
- 基于Java的Selenium学习笔记——启动Chrome
- 数据结构 /ord ;集合;dict()
- 查看已安装java插件_记录下eclipse下的插件安装,查看及删除方式
- 使用SQLParameter解决SQL注入问题
- html编辑字体的英文解释,html的字体名字(英文)
- 极光推送官网android,极光推送(一)——配置
- 一键清理系统垃圾文件bat
- mixin机器人java开发_mixin_labs-java-bot
- 让NodeJS出错退出之后自动重启的办法
- 我的职业观——HP大中华区总裁孙振耀退休感言