PHP foreach 循环是一种用于遍历数组的循环,它可以让我们对数组中的每个元素进行操作。它可以让我们快速地遍历数组,而不需要使用 for 循环。
foreach 循环有两个参数:一个是要遍历的数组,另一个是要对每个元素执行的操作。foreach 循环会依次将数组中的每个元素传递到操作中,然后执行该操作。
$arr = array(1, 2, 3, 4); foreach($arr as $value) { echo $value; } // 输出:1234
上面的代码中,我们创建了一个包含四个元素的数组 $arr ,然后使用 foreach 循环来遍历它。在循环体内,我们使用 echo 语句来输出当前元素的值。因此,最后会输出 1234 。
除了上面这样直接访问元素值之外,我们还可以使用 foreach 循环来访问关联数组中的键和值。例如:
$arr = array("name"=>"John", "age"=>20); foreach($arr as $key=>$value) { echo "$key: $value"; } // 输出:name: John age: 20
在上面的代码中,我们创建了一个包含 name 和 age 键值对的关联数
PHP为我们提供了一组数组访问函数我们可以使用遍历数组中的每个元素,不管元素是如何索引的。
PHP维护一个指向数组元素的内部指针。这个指针最初指向第一个元素,但您可以通过数组向前和向后移动指针。
要操作指针并访问它所指向的元素,请使用以下函数:
功能 | 描述 |
---|---|
current() | 获取当前元素的指针,而不改变指针位置。 |
key() | 获取指针指向的当前元素的索引,而不改变指针位置。 |
next() | 将指针向前移动到下一个元素,并返回该元素的值。 |
prev() | 将指针向后移动到前一个元素,并返回该元素的值。 |
end() | 将指针移动到数组中的最后一个元素,并返回该元素的值。 |
reset() | 将指针移动到数组中的第一个元素,并返回该元素的值。 |
每个这些函数只需要一个参数,数组,并返回必需元素的值或索引,如果元素不能被找到,则为false。
如果在指针位于数组末尾时使用next(),或者在空数组上使用current()。他们会返回假。
逐步数组
<?php $authors = array( "Java", "PHP", "CSS", "HTML" ); echo "The array: " . print_r( $authors, true ) . "n"; echo "The current element is: " . current( $authors ) . "n"; echo "The next element is: " . next( $authors ) . "n"; echo "...and its index is: " . key( $authors ) . "n"; echo "The next element is: " . next( $authors ) . "n"; echo "The previous element is: " . prev( $authors ) . "n"; echo "The first element is: " . reset( $authors ) . "n"; echo "The last element is: " . end( $authors ) . "n"; echo "The previous element is: " . prev( $authors ) . "n"; ?>
上面的代码生成以下结果。
检索数组的最后一个元素,而不知道它是如何索引的。
<?PHP // Create a sparse indexed array $authors = array( 0 => "Java", 1 => "PHP", 2 => "CSS", 47 => "HTML" ); echo end( $authors ); // Displays "HTML" ?>
上面的代码生成以下结果。
each()返回一个四元素数组,而不是一个值。此数组包含当前元素的键以及其值。如果元素不能被检索,因为指针已经到达或者因为数组为空,each()返回false。
这使得很容易判断每个()是否检索到值为false的元素在这种情况下,它返回四元素数组或如果它不能检索一个元素,在这种情况下它返回false。
四元素数组each()包含数字和字符串索引的元素,如下所示:
元素索引 | 元素值 |
---|---|
0 | 当前元素的键 |
"key" | 当前元素的键 |
1 | 当前元素的值 |
"value" | 当前元素的值 |
换句话说,您可以使用0或“key"的索引访问当前元素的键,或索引1或“值"来访问其值。 例如:
<?PHP $myBook = array( "title" => "Learn PHP from www..cn", "author" => "www..cn", "pubYear" => 2000 ); $element = each( $myBook ); echo "Key: " . $element[0] . "n"; echo "Value: " . $element[1] . "n"; echo "Key: " . $element["key"] . "n"; echo "Value: " . $element["value"] . "n"; ?>
上面的代码生成以下结果。
使用each()检索值为false的数组元素:
<?PHP $myArray = array( false ); $element = each( $myArray ); $key = $element["key"]; // $key now equals 0 $val = $element["value"]; // $val now equals false ?>
因为each()都返回当前数组元素并前进数组指针,它很容易使用它在一个while循环移动通过所有元素的数组。 以下示例通过$ myBook数组,返回每个元素的键和值。
<?php $myBook = array( "title" => "Learn PHP from www..cn", "author" => "www..cn", "pubYear" => 2000 ); while ( $element = each( $myBook ) ) { echo " < dt > $element[0] < /dt > "; echo " < dd > $element[1] < /dd > "; } ?>
上面的代码生成以下结果。
PHP array_column() 函数完整的 PHP Array 参考手册实例从记录集中取出 last_name 列:?php// 可能从数据库中返回数组$a = array...
开发过程中,遇到数据处理取整的时候,你会用哪个呢,小涛来介绍一下:PHP取整函数有ceil,floor,round,intval,下面详细介绍...
PHP 7 废弃特性 PHP 7 新特性PHP4 风格的构造函数在 PHP4 中类中的函数可以与类名同名,这一特性在 PHP7 中被废弃,同时会发出一...
PHP curl_exec函数 PHP cURL参考手册(PHP 4 >= 4.0.2, PHP 5)curl_exec — 执行一个cURL会话说明mixed curl_exec ( resource $ch...