php中用foreach来操作数组的代码_PHP教程
程序员文章站
2024-02-19 09:44:34
...
foreach()有两种用法:
foreach(array_name as $value)
{
statement;
}
这里的array_name是你要遍历的数组名,每次循环中,array_name数组的当前元素的值被赋给$value,并且数组内部的下标向下移一 步,也就是下次循环回得到下一个元素。
foreach(array_name as $key => $value)
{
statement;
}
这里跟第一种方法的区别就是多了个$key,也就是除了把当前元素的值赋给$value外,当前元素的键值也会在每次循环中被赋给变量$key。键值可以 是下标值,也可以是字符串。比如book[0]=1中的"0",book[id]="001"中的"id".
程序实例1:
/*-------------------------------------------------------------------------*/
/* foreach example 1: value only */
echo "foreach example 1: value only ".'
';
$a = array(1, 2, 3, 17);
foreach ($a as $v) {
echo "Current value of ".$a.":". $v."
";
}
?>
// 运行结果
foreach example 1: value only
Current value of $a: 1
Current value of $a: 2
Current value of $a: 3
Current value of $a: 17
2
/*-------------------------------------------------------------------------*/
/* foreach example 2: value (with key printed for illustration) */
echo '
'.'
'."foreach example 2: value (with key printed for illustration) ".'
';
$a = array(1, 2, 3, 17);
$i = 0; /* for illustrative purposes only */
foreach ($a as $v) {
echo ""$a[$i] => $v".'
';
$i++;
}
// 程序运行结果
foreach example 2: value (with key printed for illustration)
$a[0] => 1
$a[1] => 2
$a[2] => 3
$a[3] => 17
3
/*-------------------------------------------------------------------------*/
/* foreach example 3: key and value */
echo '
'.'
'."foreach example 3: key and value ".'
';
$a = array(
"one" => 1,
"two" => 2,
"three" => 3,
"seventeen" => 17
);
foreach ($a as $k => $v) {
echo ""$a[$k] => $v".'
';
}
// 程序运行结果
foreach example 3: key and value
$a[one] => 1
$a[two] => 2
$a[three] => 3
$a[seventeen] => 17
4
/*-------------------------------------------------------------------------*/
/* foreach example 4: multi-dimensional arrays */
echo '
'.'
'."foreach example 4: multi-dimensional arrays ".'
';
$a = array();
$a[0][0] = "a";
$a[0][1] = "b";
$a[1][0] = "y";
$a[1][1] = "z";
foreach ($a as $v1) {
foreach ($v1 as $v2) {
echo "$v2"n";
}
}
// 程序运行结果
foreach example 4: multi-dimensional arrays
a b y z
5
/*-------------------------------------------------------------------------*/
/* foreach example 5: dynamic arrays */
echo '
'.'
'."foreach example 5: dynamic arrays ".'
';
foreach (array(1, 2, 3, 4, 5) as $v) {
echo "$v"n";
}
// 程序运行结果
foreach example 5: dynamic arrays
1 2 3 4 5
也可以这么用:
复制代码 代码如下:
foreach(array_name as $value)
{
statement;
}
这里的array_name是你要遍历的数组名,每次循环中,array_name数组的当前元素的值被赋给$value,并且数组内部的下标向下移一 步,也就是下次循环回得到下一个元素。
复制代码 代码如下:
foreach(array_name as $key => $value)
{
statement;
}
这里跟第一种方法的区别就是多了个$key,也就是除了把当前元素的值赋给$value外,当前元素的键值也会在每次循环中被赋给变量$key。键值可以 是下标值,也可以是字符串。比如book[0]=1中的"0",book[id]="001"中的"id".
程序实例1:
复制代码 代码如下:
/*-------------------------------------------------------------------------*/
/* foreach example 1: value only */
echo "foreach example 1: value only ".'
';
$a = array(1, 2, 3, 17);
foreach ($a as $v) {
echo "Current value of ".$a.":". $v."
";
}
?>
// 运行结果
foreach example 1: value only
Current value of $a: 1
Current value of $a: 2
Current value of $a: 3
Current value of $a: 17
2
复制代码 代码如下:
/*-------------------------------------------------------------------------*/
/* foreach example 2: value (with key printed for illustration) */
echo '
'.'
'."foreach example 2: value (with key printed for illustration) ".'
';
$a = array(1, 2, 3, 17);
$i = 0; /* for illustrative purposes only */
foreach ($a as $v) {
echo ""$a[$i] => $v".'
';
$i++;
}
// 程序运行结果
foreach example 2: value (with key printed for illustration)
$a[0] => 1
$a[1] => 2
$a[2] => 3
$a[3] => 17
3
复制代码 代码如下:
/*-------------------------------------------------------------------------*/
/* foreach example 3: key and value */
echo '
'.'
'."foreach example 3: key and value ".'
';
$a = array(
"one" => 1,
"two" => 2,
"three" => 3,
"seventeen" => 17
);
foreach ($a as $k => $v) {
echo ""$a[$k] => $v".'
';
}
// 程序运行结果
foreach example 3: key and value
$a[one] => 1
$a[two] => 2
$a[three] => 3
$a[seventeen] => 17
4
复制代码 代码如下:
/*-------------------------------------------------------------------------*/
/* foreach example 4: multi-dimensional arrays */
echo '
'.'
'."foreach example 4: multi-dimensional arrays ".'
';
$a = array();
$a[0][0] = "a";
$a[0][1] = "b";
$a[1][0] = "y";
$a[1][1] = "z";
foreach ($a as $v1) {
foreach ($v1 as $v2) {
echo "$v2"n";
}
}
// 程序运行结果
foreach example 4: multi-dimensional arrays
a b y z
5
复制代码 代码如下:
/*-------------------------------------------------------------------------*/
/* foreach example 5: dynamic arrays */
echo '
'.'
'."foreach example 5: dynamic arrays ".'
';
foreach (array(1, 2, 3, 4, 5) as $v) {
echo "$v"n";
}
// 程序运行结果
foreach example 5: dynamic arrays
1 2 3 4 5
也可以这么用:
复制代码 代码如下:
上一篇: 你的PHP项目中还在用时间戳么?