程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> 關於PHP編程 >> PHP用foreach遍歷數組比較高效

PHP用foreach遍歷數組比較高效

編輯:關於PHP編程

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

<?php
/*-------------------------------------------------------------------------*/
/* foreach example 1: value only */
echo "foreach example 1: value only ".'<br />';
$a = array(1, 2, 3, 17);
foreach ($a as $v) {
   echo "Current value of ".$a.":". $v."<br />";
}
?>
// 運行結果
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 '<br />'.'<br />'."foreach example 2: value (with key printed for illustration) ".'<br />';
$a = array(1, 2, 3, 17);
$i = 0; /* for illustrative purposes only */
foreach ($a as $v) {
    echo ""$a[$i] => $v".'<br />';
    $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 '<br />'.'<br />'."foreach example 3: key and value ".'<br />';
$a = array(
    "one" => 1,
    "two" => 2,
    "three" => 3,
    "seventeen" => 17
);
foreach ($a as $k => $v) {
    echo ""$a[$k] => $v".'<br />';
}
// 程序運行結果
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 '<br />'.'<br />'."foreach example 4: multi-dimensional arrays ".'<br />';
$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 '<br />'.'<br />'."foreach example 5: dynamic arrays ".'<br />';
foreach (array(1, 2, 3, 4, 5) as $v) {
    echo "$v"n";
}
// 程序運行結果
foreach example 5: dynamic arrays 
1 2 3 4 5

也可以這麼用:

$messageNav['首頁'] =ROOT_PATH;
$messageNav['人才交流'] ="#"
$messageNav['動態專欄'] ="hragent/cn/"
<?php $i = 0;foreach ($messageNav as $key=>$value):?>
<?php if ($i != count($messageNav) - 1):?>
<a href="<?=$value?>"><?=$key?></a>> 
<?php else:?>
<a href="<?=$value?>" class="onlink"><?=$key?></a>
<?php endif;?>
<?php $i++;endforeach;?>

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved