搜索热词

1、什么是PHP数组?PHP数组有哪几类

数组就是一组数据的集合,把一系列的数据组织起来,形成一个可以操作的整体。

数组中的每个元素都包含两项:键和值。可以通过键值来获取相对应的数组元素,这些键值可以是数值键或者关联键。

PHP数组分为三类

数字索引数组:

索引数组存储一系列经过组织的单个或多个值,其中的每个值都可以通过使用一个无符号整数值进行访问。

关联数组:

“关联数组”是一种具有特殊索引方式的数组。不仅可以通过整数来索引它,还可以使用字符串或者其他类型的值(除了NULL)来索引它。

多维数组:

数据结构中的概念, 二维数组以上的数组,既非线性也非平面的数组成为多维数组。

2、PHP怎么声明数组:声明数组的两种方式

在 PHP 中声明数组的方式主要有两种:一种是应用 array() 函数声明数组,另一种是直接通过为数组元素赋值的方式来声明数组。

应用 array()函数定义数组是比较灵活的,可以在函数体中只给出数组元素值,而不是给出键值。例如:

$arr = array("PHP","thinkPHP");print_r($arr);

输出的结果为:

注意:可以通过给变量赋予一个没有参数的 array()函数来创建空数组,然后使用方括号[]语法来添加数组元素值!

PHP提供创建数组的 array()函数。在使用其中某个元素的数据时,可以直接利用他们在数注重的排列顺序取值,这个顺序称之为数组的下标。例如:

echo $arr[1];

注意:使用 array()函数定义数组是,下标默认是从 0 开始的,而不是 1 ,然后依次增加 1。所以下标为 2 的元素是指数组的第 3 个元素。以此类推!

下面通过 array()函数声明数组,示例代码:

array("1"=>"PHP","2"=>"thinkPHP"$arr$arr[0];$arr[1];

输出的结果为:

PHP 中另一个比较灵活的数组声明方式是直接为数组元素赋值。如果在创建数组时不知道所创建数组的大小,或者在实际编写程序时数组的大小可能发生变化,采用这种数组创建的方法比较好。

为了加深对这种数组声明方式的理解,下面通过具体的实例对该中数组声明方式进行讲解,示例代码如下:

header("Content-Type:text/html; charset=utf-8");$arr[1] = "html";$arr[2] = 'css';$arr);

输出的结果为:

注意:通过直接为数组元素赋值方式声明数组时,要求同一数组元素中的数组名相同。

3、什么是PHP二维数组?PHP二维数组实例详解

PHP二维数组代码实例:

<?array ("PHP"=>PHP"),"js"=>array("M"=>"js","N"=>"jQuery","vue","react"),"html"=>array(10=>"html","html5")

);$arr);

输出结果为:

这里说明下:

很多人看到上面为什么"html5"的下标是“11”呢?

这个问题我们之前的文章都有说过,数组下标默认是从 0 开始的,然后依次增加 1 ,当然也可以指定从某个数字开始,因为我们前面定义了“html”是 10 ,所以后面的“html5”的下标自然就是 11 了。小伙伴们现在明白了嘛?

上面的实例实现了一个二维数组的声明,按照这样的思路,可以声明更高维数的数组

4、PHP数组的类型-数字索引数组

PHP 数字索引数组一般表示数组元素在数组中的位置,它由数字组成,下标从 0 开始,数字索引数组默认索引值就是从数字 0 开始的,不需要特别指定,PHP 会自动为索引数组的键名赋一个整数值,然后从这个值开始自动增量,当然,也可以指定从某个位置开始保存数据。

数字索引数组的案例:

array("1"=>"html","2"=>"css"$arr);

输出结果为:

索引数组使用无符号 32 位整数作为索引号。索引数组的最大大小为 2-1,即 4,294,967,295。如果要创建的数组大小超过最大值,则会出现运行时错误。

5、PHP数组的类型-关联数组

除了数组索引数组,PHP还有一种关联数组,在其它计算机语言中,一般叫做hash或者map

使用关联数组,我们可以为每个数组元素指定一个关键词,我们称之为键(key)

关联数组的键名可以是数字和字符串混合的形式,而不像数字索引数组的键名只能为数字。在一个数组中,只要键名中有一个不是数字,那么这个数组就称之为关联数组。

关联数组的元素没有特定的顺序,你可以把它们想象为一组卡片。每张卡片上半部分是索引而下半部分是数值。

JavaScript的对象本质就是一个关联数组。

关联数组案例如下:

array("first"=>"html","second"=>"css"echo($arr['first']);

输出结果为:

技巧:关联数组的键名可以使任何一个整数或者字符串。如果键名是一个字符串,不要忘了给这个键名或者索引加上定界符—单引号(‘)或者双引号(“)。对于数字索引数组,为了避免不必要的麻烦,我们也最好加上定界符!

6、PHP数组的类型-多维数组

定义二维数组:

$arr = [[1,2,3],[4,5,6],[7,8]];echo count(echo "
"$arr,true);//递归

获取上面二维数组“4”这个元素的方式如下:

$arr[1][0];

总结

如果觉得编程之家网站内容还不错,欢迎将编程之家网站推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。

php数组怎么定义,php数组的定义、php数组的类型相关推荐

  1. java对于数组的定义_Java中方法的定义与使用,以及对数组的初步了解。

    方法 方法的含义 定义: 方法就是用来完成解决某件事情或实现某个功能的办法. 方法实现的过程中,会包含很多条语句用于完成某些有意义的功能--通常是处理文本,控制输入或计算数值. 我们可以通过在程序代码 ...

  2. 2-结构体的最后一个成员的定义-C语言中的柔性数组-

    深入浅出C语言中的柔性数组 在日常的编程中,有时候需要在结构体中存放一个长度动态的字符串,一般的做法,是在结构体中定义一个指针成员,这个指针成员指向该字符串所在的动态内存空间,例如: [cpp] vi ...

  3. oracle游标循环定义变量赋值,PL/SQL  循环 数组 游标的使用

    1.创建存储过程 create or replace procedure test(var_name_1 in type,var_name_2 out type) as --声明变量(变量名 变量类型 ...

  4. C语言试题四十七之程序定义了N×M的二维数组,并在主函数中自动赋值。请编写函数function(int a[N][M], int m),该函数的功能是:将数组右上半三角元素中的值乘以m。

    1. 题目 程序定义了N×M的二维数组,并在主函数中自动赋值.请编写函数function(int a[N][M], int m),该函数的功能是:将数组右上半三角元素中的值乘以m. 2 .温馨提示 C ...

  5. C语言试题二十二之定义了3×3的二维数组,并在主函数中赋值。函数的功能使求出数组周边元素的平均值并作为函数值返回给主函数中的s。

    1. 题目 定义了3×3的二维数组,并在主函数中赋值.函数的功能使求出数组周边元素的平均值并作为函数值返回给主函数中的s. 2 .温馨提示 C语言试题汇总里可用于计算机二级C语言笔试.机试.研究生复试 ...

  6. 函数的定义,语法,二维数组,几个练习题

    1.请将'A','B','C'存入数组,然后再输出 2.请将"我" "爱" "你"存入数组,然后正着和反着输出 3.输入10个整数存入数组, ...

  7. 每日一题(42)—— 已知一个数组table,用一个宏定义,求出数据的元素个数

    已知一个数组table,用一个宏定义,求出数据的元素个数. // 总大小除以第一个元素的大小 #define TNTBL (sizeof(table)/sizeof(table[0]))

  8. java定义一个方法,返回整数数组的元素最大值

    java定义一个方法,返回整数数组的元素最大值 /*** 定义一个方法* 返回整数数组的元素最大值*/ public class Test23 {public static int maxArray( ...

  9. 《编码规范和测试方法——C/C++版》作业 ·003——宏定义作用整理、设计删除数组元素的函数

    文章目录 一.宏定义(#define)的作用 1.普通宏 2.带参宏 [注]:特殊用法 3.其他用法和注意点 二.实际问题(函数设计) 1.原题 2.题解参考 (1).面向过程的设计 (2).面向对象 ...

  10. YDOOK AI : Pytorch :使用 tensor.zeros() tensor.zeros_like() 生成定义 全零数组 全0数组

    YDOOK AI : Pytorch :使用 tensor.zeros() tensor.zeros_like() 生成定义 全零数组 全0数组 1_1. tensor.zeros() 函数: tor ...

最新文章

  1. 在线和本地两种方法构建 RAxML 进化树方法和解读
  2. ES聚合底层机制-bucket深的话采用广度优先更好,而如果是年度统计还是深度优先好...
  3. spark(1.1) mllib 源代码分析
  4. 乐玩插件和大漠插件哪个好_用好这5款Chrome插件,大幅提升你的生产力
  5. 【HDU - 3790】最短路径问题(DIjkstra算法 双权值)
  6. es6 默认的 Iterator 接口
  7. 精品网站 mysql,【网址导航系统】基于PHP+MYSQL开发的开源网站分类目录管理系统...
  8. Excel复制粘贴——跳过空单元格案例
  9. 利用matlab自带函数快速提取二值图像的图像边缘 bwperim函数
  10. idirect3ddevice9虚函数偏移_C++ 虚函数简介
  11. 【POJ 3623】 Best Cow Line, Gold (后缀数组)
  12. Python小游戏--贪吃蛇
  13. c盘清理代码_WIN10 C盘空间不够怎么办?几个小方法助你清理硬盘空间
  14. 北京黑马程序员javaEE第19期课程
  15. Android studio db文件导出 DDMS
  16. 什么是 PHP? 为什么用 PHP? 有谁在用 PHP?
  17. 快手火山抖音视频(包含其他视频)跨平台操作搬运,下载,消重,全自动操作解放双手...
  18. 《针灸》笔记(倪海厦先生人纪系列针灸篇——综合)
  19. linux usb有线网卡驱动_有线网卡Linux驱动安装小记
  20. 用计算机语言写祝福语,程序员祝福语

热门文章

  1. mysql主从节点不一致_一种粗暴快速的解决mysql主从不同步错误的思路
  2. 《新一代SDN——VMware NSX 网络原理与实践》——2.4 与VMware NSX相关的认证
  3. DB9(串行232)和DB15(VGA)脚位和定义
  4. 磁盘结构损坏且无法读取一种解决办法
  5. ABB IRC5 喷涂机器人简单操作
  6. 人工智能可以自学吗?AI从哪里开始学起?
  7. 2008年度全球50个最佳网站
  8. 从锅炉工到AI专家(3)
  9. 【Linux系统移植】NXP 官方开发板 kernel内核 编译与烧录
  10. 电源升降压芯片电路归纳(归纳中。。。)