文档章节

【php】foreach和多维数组

CuteBear
 CuteBear
发布于 2017/04/26 15:07
字数 742
阅读 90
收藏 0

今天工作遇到了一个问题,就是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();一维数组是最简单的,按照数学理解就是点线,也可以理解为线性结构,举个例子

<?php
//这里强调$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坐标器 输入图片说明 以此类推,三维是立体几何的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("<li>".$key."</li>");
	foreach ($value as $key => $val) {
		printf("<li>".$key."=>".$val."</li>");
	}
}
//这里第一次输出的是key也就是$a=array("0","1");只有key没有value;只是遍历二次象限的x
//第二次foreach中的value就是0,1;然后就遍历内数组,也就是我上面写的二次象限的y层,
先确定x1,然后根据x1,遍历y的所有,在便利x2中y的所有

© 著作权归作者所有

CuteBear
粉丝 4
博文 37
码字总数 13040
作品 0
徐汇
程序员
私信 提问
php多维数组转码

公司的老项目都是gbk编码的,但是新项目都是utf-8编码的。而项目之间交互涉及汉子难免就需要转码,普通字符串可以之间利用iconv来转码,数组就比较麻烦。以前的同事也写过数组转码的函数。如...

不肥的小肥羊
2016/06/16
11
0
PHP之新手自学基础知识(三)——数组篇

数组是什么? 数组是一个能在单个变量中存储多个值的特殊变量。 如果一个项目清单(例如:手机名字的清单),将其存储到单个变量中如下所示: 然而,如果您想要遍历变量并找出特定的一个呢?...

天谴残魂
2018/01/04
0
0
php中遍历多维数组的方法

function arr_foreach ($arr) { if (!is_array ($arr)) { return false; } foreach ($arr as $key => $val ) { if (is_array ($val)) { arr_foreach ($val); } else { $str .= ','.$val; } }......

booleanyong
2012/06/28
11K
9
PHP入门进阶(01)--数组

PHP入门进阶(01)--数组 最近跟朋友弄个导航网站,发现基本都是用PHP开发的,于是乎第一次接触PHP环境。刚开始一头雾水,它不像.NET那样装个VS就万事大吉了,像什么Apache, MySQL, PHP还真没...

技术小胖子
2017/11/16
0
0
php数组循环输出实现方法【实例代码有误!!】

以前我们经常会想怎么来实现php数组循环输出来,本文章来介绍了利用php中常用的四种循环语句来实现单数组或多维数组循环输出方法. 在 PHP 中,我们可以使用下列循环语句: while 只要指定的条件...

adbug
2016/04/11
47
0

没有更多内容

加载失败,请刷新页面

加载更多

0.01-Win10安装linux子系统

一、安装Debian子系统 -1、控制面板设置: -1.1、打开“控制面板” —— “程序” —— “启用或关闭Windows功能” —— 勾选 “适用于Linux的Windows子系统” -2、设置: -2.1、打开“设置”...

静以修身2025
昨天
2
0
init 0-6 (启动级别:init 0,1,2,3,4,5,6)

启动级别: init 0,1,2,3,4,5,6 这是个很久的知识点了,只是自己一直都迷迷糊糊的,今天在翻出来好好理解下。。 0: 停机 1:单用户形式,只root进行维护 2:多用户,不能使用net file system...

圣洁之子
昨天
2
0
Android Camera HAL浅析

1、Camera成像原理介绍 Camera工作流程图 Camera的成像原理可以简单概括如下: 景物(SCENE)通过镜头(LENS)生成的光学图像投射到图像传感器(Sensor)表面上,然后转为电信号,经过A/D(模数转...

天王盖地虎626
昨天
2
0
聊聊Elasticsearch的ProcessProbe

序 本文主要研究一下Elasticsearch的ProcessProbe ProcessProbe elasticsearch-7.0.1/server/src/main/java/org/elasticsearch/monitor/process/ProcessProbe.java public class ProcessProb......

go4it
昨天
3
0
mysql PL(procedure language)流程控制语句

在MySQL中,常见的过程式SQL语句可以用在存储体中。其中包括IF语句、CASE语句、LOOP语句、WHILE语句、ITERATE语句和LEAVE语句,它们可以进行流程控制。 IF语句相当于Java中的if()...else if(...

edison_kwok
昨天
3
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部