PHP 数组 (前篇)-- 遍历

来源:互联网 发布:财务软件java源代码 编辑:程序博客网 时间:2024/06/06 20:12
<?php/** * Created by PhpStorm. * User: W.J.Chang * Date: 2014/11/24 * Time: 16:28 *//* * php 数组相当灵活 * 1, 索引数组:和其他语言一样,用数字下标进行索引,但是下标可以不连续 *    $demo = array('apple','orange','banana') <==> demo = array(0=>'apple',1=>'orange',2=>'banana'); * 2, 关联数组:key-value形式 * 3, 多维数组:数组的数组 $demo = array(array(),array()); *//* * 数组遍历 * 1, for *    这种方式不是首选 *    数组必须是下标连续的索引数组 * * 2, foreach *    foreach($arr as $item) { ... } *    foreach($arr as $key=>$val) { ... } * * 3, while() list() each() 组合 *    each(): 需要一个数组作为参数,返回array(0,1,$key,$val),是一个游标操作,执行到最后会返回false *    list(): a, list() = array() 需要将数组赋给list() *            b, 数组中的元素个数要和list()函数中的参数个数相同 *            c, 数组中的每个元素会赋值给list()中的每个参数 *            d, list() 只能接受索引数组 *            e, 按索引的下标顺序遍历 * *    数组内部指针控制函数 * *    prev($arr)      : 上一个指针 *    next($arr)      : 下一个指针 *    reset($arr)     : 第一个 *    end($arr)       : 最后一个 * *    current($arr)   : 当前key *    key($arr)       : 当前value * */// forecho "\n for ... \n";$demo = array('apple','orange','banana');for($i=0;$i<count($demo);$i++) {    echo $demo[$i]." ";}// forecho "\n for ... \n";$demo1 = array(0=>'apple',1=>'orange',2=>'banana');for($i=0;$i<count($demo1);$i++) {    echo $demo1[$i]." ";}// foreachecho "\n foreach ... \n";foreach($demo as $item) {    echo $item." ";}// foreachecho "\n foreach ... \n";foreach($demo as $key => $val) {    echo ' '.$key.'=>'.$val.' ';}echo "\n".'----------------------------------------';$user = array('id'=>1,'name'=>'jack','age'=>10,'sex'=>'male');// whileecho "\n while ... \n";while($arr=each($user)) {    // "$arr[0]-->$arr[1]";    echo  $arr['key']."-->".$arr['value']."  ";}echo "\n-------------------------------------------";while(list($key,$value)=each($user)) {    echo ''.$key.'----->'.$value."  ";}echo "\n-------------------------------------------\n";reset($user);while(list($key,$value)=each($user)) {    echo ''.$key.'----->'.$value."  ";}echo "\n-------------------------------------------\n";while(list($key,$value)=each($user)) {    echo ''.$key.'----->'.$value."  ";}reset($user);next($user);next($user);echo "\n-------------------------------------------\n";while(list($key,$value)=each($user)) {    echo ''.$key.'----->'.$value."  ";}reset($user);echo "\n";echo current($user).'---------->'.key($user)."\n";end($user);echo current($user).'---------->'.key($user)."\n";prev($user);echo current($user).'---------->'.key($user)."\n";/* * result * for ...apple orange banana for ...apple orange banana foreach ...apple orange banana foreach ... 0=>apple  1=>orange  2=>banana---------------------------------------- while ...id-->1  name-->jack  age-->10  sex-->male--------------------------------------------------------------------------------------id----->1  name----->jack  age----->10  sex----->male--------------------------------------------------------------------------------------age----->10  sex----->male1---------->idmale---------->sex10---------->age */

1 0