加入收藏 | 设为首页 | 会员中心 | 我要投稿 吕梁站长网 (https://www.0358zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

(八)数组(2):二维数组&&多维数组

发布时间:2022-12-03 09:00:25 所属栏目:PHP教程 来源:网络
导读: 有了一维数组的基础,多维数组就很好学习了
首先给个例子

我是例子
假如你想对1~16的数字按这样顺序排列,而不是1,2,3,...,16,这就是一个二维数组
那么应该怎么创建呢?
一维是
int s

有了一维数组的基础,多维数组就很好学习了

首先给个例子

我是例子

假如你想对1~16的数字按这样顺序排列,而不是1,2,3,...,16,这就是一个二维数组

那么应该怎么创建呢?

一维是

int stu[16];      //方括号里数字可以省略不写

那么二维就是

int stu[4][4];          //一般不省略

由于有空字符的存在(null),有几个数值[]里写几个就行

那么第一个方括号就代表横向的一个维度,也就是所谓的X轴

第二个就是纵向维度,即Y轴

但是C语言中的维度方向跟数学是不一样的,Y轴与数学正好相反

php 多维数组拼接_php多维数组_PHP多维数组

C语言轴的方向

X轴从左到右,Y轴从上到下

所以上面数字的排列刚好对应C语言的逻辑维度方向

那么该如何赋值与输出呢?

直接给某地赋值非常方便,比如我想给第一个赋值为1,那么只需

    stu[0][0] = 1;

而顺序赋值,可以直接写成数组方式,比如

    int stu[4][4] = {{1,2,3,4},
		   {5,6,7,8},
		   {9,10,11,12},
		   {13,14,15,16}
	};

注意每组数据用{}括起,用,分开

如果输出整个数组,想想一维是用一个for循环输出的

那么二维只需两个for就行啦o(^▽^)o

参考代码:

    for(int i=0;i<4;i++)
   {
   	   for(int j=0;j<4;j++)
	   {
		   printf("%d,",stu[i][j]);
	   }
	   printf("\n");
   }

两层for循环逻辑大概是这样的:

第一层i=0,j=0,然后进到了j的循环中,执行一遍printf,再次回到j循环(因为有大括号)

此时i=0,j=1,继续循环执行

当j=4时,内部循环不符合条件,跳出内部循环,输出一遍回车,然后进入外部循环,即i=1

然后内部循环重新执行四遍PHP多维数组,j=0,1,2,3,一直重复到i=4退出循环

php多维数组_php 多维数组拼接_PHP多维数组

结果

最基本的二维数组方法就是以上这些,其实多维数组也同二维数组,只不过多加了几个维度

创建时多打几层{},输出时多写几个for照样搞定

但是实际操作中很少用到三维以上的数组,这里给一个声明三维数组的例子:

int stu[2][3][4]={{{1,2,3,4},{5,6,7,8},{9,10,11,12}},{{13,14,15,16},{17,18,19,20},{21,22,23,24}}};

PHP多维数组_php 多维数组拼接_php多维数组

放张图片理解理解(?-ω-`)

好的那么本节课内容差不多到这里就结束了,喜欢的朋友点个赞,当然关注也行( ̄▽ ̄)

把二维数组源码摆出来,供大家学习(欣赏)

#include 
int main()
{
   int stu[4][4] = {{1,2,3,4},
		   {5,6,7,8},
		   {9,10,11,12},
		   {13,14,15,16}
	};
    for(int i=0;i<4;i++)
   {
   	   for(int j=0;j<4;j++)
	   {
		   printf("%d,",stu[i][j]);
	   }
	   printf("\n");
   }
   return 0;
}

感谢大家浏览,下期再见(??????) ?

(编辑:吕梁站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!