总结foreach()使用PHP
foreach(array_expression美元价值)
声明
foreach(array_expression达关键=价值)
声明
第一格式遍历给定的array_expression阵列。在每个周期中,当前单元格的值赋给美元的价值,和指针数组里前进了一步,所以下一单元将获得下一个细胞。
第二种形式做同样的事情,但除了当前的单位将钥匙在每个周期分配给美元的关键。
看的第一个声明,这个声明是相对简单的,array_expression指一系列表现,美元将获得价值声明数组的值的顺序和保存到瓦尔变量,这种方法只能在阵列实现价值,不能获得数组的索引值的。例:
数组MyArray美元=(1 >val1
foreach($ MyArray达Val){
打印(美元价值);
}
将结果输出:val1 val2 VAL3
让我们看一下第二种格式,除了第二种格式,如第一种格式作为数组元素在值中,还获取元素值的索引,并保存到$变量,如果数组索引值没有人为设置,则返回系统默认设置,
看看正面的例子:
首先看一个简单的一维数组:
数组MyArray美元=(1 >val1
foreach(数组MyArray美元美元美元关键= > Val){
打印($键)。=。$价值;);
}
程序将输出:1 = 2 = > > val1;临床;3 = >所限;然后我们再看一个复杂的二维数组的遍历,并且程序如下:
美元=数组MyArray(
1 = >阵列(11 >val11
2 = >阵列(21 >val21
3 = >阵列(31 >val31
);
打印();
foreach(数组MyArray美元美元美元关键= > Val){
Print (.$key. ;
如果(is_array($ Val)){ / /美元价值来确定该值是否是一个数组,如果是的话,那么进入下横
打印();
foreach(瓦尔美元美元美元关键= > Val){
打印(。为关键。美元的价值);
}
打印();
}
}
打印();
输出结果:
一
11 = > val11
12 = > val12
13 = > val13
二
21 = > val21
22 = > val22
23 = > val23
三
31 = > val31
32 = > val32
33 = > val33
并且是一个标签,其功能是显示一个实心小圆点和空心小圆点。
由于上面是一个二维数组,第一次遍历后得到的值是一个数组,所以我在遍历中添加了一个判断,以便执行两层数组遍历。
用一个例子解决这个问题
< PHP
$ =数组(1语言
$ =数组(195
foreach(美元美元美元作为关键= >价值){
回波值;
回声$。;
}
>
问题是为什么输出数组中的值是$,而不是$ }
为什么会这样
$ =数组(1语言
上面和下面的内容完全相同。
$ { 1 } 中文;
$ { 2 } =数学
$ $ { 3 } =英语
我们如何输出上面的数组
它必须是回声$ { 1 };
你觉得那样对吗
如果毫无疑问,我们继续!!!!
uff0d uff0d uff0d uff0d uff0d uff0d uff0d uff0d uff0d uff0d uff0d uff0d uff0d uff0d uff0d uff0d uff0d uff0d uff0d uff0d uff0d uff0d uff0d uff0d uff0d uff0d uff0d uff0d uff0d uff0d
简单的说,
它的格式是一个foreach(数组名作为下标= >价值)
下标是上面的$ { 1 },这里的1是数组的下标!
在这里你应该明白为什么它是一个输出
您还记得,无论变化如何,输出数组方法总是$ { 1 },$ { }不是中文的
================================================================
foreach()有两个用途:
1:foreach(array_name美元值){
声明;
}
这里的array_name是数组名,你想遍历。在每一个周期,对array_name数组的当前元素的值赋给美元的价值,和下标数组中向下移动一步,即下一个循环的下一个元素。
2:foreach(array_name键=美元美元值){
声明;
}
第一种方法和第一种方法的区别在于,有更多的密钥。也就是说,除了将当前元素的值赋给值外,当前元素的键值也将被分配给每个周期中的变量$键。键值可以是下标值或字符串。例如,在书{ 0 } = 1中的0,id在书中001。
以上是本文的全部内容,希望大家能喜欢。