php中数学如何二维数组,如何用数学知识理解多维数组

本文探讨了PHP中foreach遍历多维数组的挑战,以qric_order_attribute表为例,解释了一维和二维数组的概念,并分享了如何正确处理嵌套数组。同时揭示了新手在理解数组和数组索引上的常见误区。
摘要由CSDN通过智能技术生成

今天工作遇到了一个问题,就是foreach和多维数组的问题,boss有个需求,让我把qric_order_attribute表中的某一个字段查出来,接到任务的时候我以为很简单,不就是一个select语句吗,后来才发现,确实是我想多了,对于我这种不到一年的小白来说,确实有点难,当然大神请无视!言归正传:

qric_order_attribute #订单属性表,表结构很简单

id stock num oid info(text) #其中info字段又有以下字段: name aname fname no price img

1;首先说明一下什么是数组,数组是相同数据类型的元素按照一定的顺序的集合,必须是相同数据类型,php定义一个数组一般是array();一维数组是最简单的,按照数学理解就是点线,也可以理解为线性结构,举个例子

//这里强调$a['0']这样写是不对的,key值不能带引号!!!

//装波逼。w3school在讲数组的时候带引号,然后我测试了好多,报错,哈哈,我居然能发现w3c的错误!

$a=array('1','2','3') //其中这里$a[0]=1;因为数组是从零开始计算的。

//其实这两种写法都不错,w3c也没错,第一种是我的写法,只是加了个引号转移了key值,要不然去掉外包的“”还是报错

$a=array("Bill"=>"60","Steve"=>"56","Mark"=>"31");

echo "$a[Bill]"."$a[Steve]";

$age=array("Bill"=>"60","Steve"=>"56","Mark"=>"31");

echo $age['Bill'] . " years old.";

这里就是典型的一维数组,线性关系。

而二维数组可以看成高中学过的x-y坐标器

8d791c371f37d8b55c01936d9f874165.png

以此类推,三维是立体几何的x-y-z坐标器,四维多维,不考虑,反正四维太抽象

//数组说明 $a[常量表达式1][常量表达式2];

$a[2][3] //说明了这是一个二行三列的数组,数组名为a,改数组小标变量有2*3个即:

$a[0][0]; $a[0][1] ; $a[0][2]; $a[0][3]

$a[1][0]; $a[1][1]; $a[1][2]; $a[1][3];

$a[2][0]; $a[2][1]; $a[2][2]; $a[2][3]

例如:

$a=array(

array("0","1","2"),

array("a","b","c"),

);

echo $a[1][1]; //输出b,就是横1,竖1,(数组是从0开始的)

2.下面讲的是foreach

foreach在php中就是遍历数组,

$a=array("a","b","c");

foreach($a as $key=>$value){

echo "$value"; //输出结果就是abc;

}

而当多维数组的时候就需要两个foreach了

$a=array(

array("0","1","2"),

array("a","b","c"),

);

foreach ($a as $key => $value) {

printf("

".$key."");

foreach ($value as $key => $val) {

printf("

".$key."=>".$val."");

}

}

//这里第一次输出的是key也就是$a=array("0","1");只有key没有value;只是遍历二次象限的x

//第二次foreach中的value就是0,1;然后就遍历内数组,也就是我上面写的二次象限的y层,

先确定x1,然后根据x1,遍历y的所有,在便利x2中y的所有

本作品采用《CC 协议》,转载必须注明作者和本文链接

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值