举报投诉联系我们 手机版 热门标签 鳄鱼CMS
您的位置:鳄鱼CMS > phpforeach循环数组 PHP数组元素循环

phpforeach循环数组 PHP数组元素循环

2023-05-22 21:31 PHP教程

phpforeach循环数组 PHP数组元素循环

phpforeach循环数组

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教程 - PHP数组元素循环

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"; 
 ?>  

上面的代码生成以下结果。



实施例2

检索数组的最后一个元素,而不知道它是如何索引的。

<?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";   
?>         

上面的代码生成以下结果。

实施例3

使用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 > "; 
   } 
?>  

上面的代码生成以下结果。

阅读全文
以上是鳄鱼CMS为你收集整理的phpforeach循环数组 PHP数组元素循环全部内容。
声明:本站所有文章资源内容,如无特殊说明或标注,均为采集网络资源。如若本站内容侵犯了原著者的合法权益,可联系本站删除。
相关文章
© 2024 鳄鱼CMS eyucms.com 版权所有 联系我们