比思論壇

標題: Linux编程之php数组中指针操作的实现代码 [打印本頁]

作者: wabb44400    時間: 2012-9-17 18:50
標題: Linux编程之php数组中指针操作的实现代码
    php数组中指针操作的实现代码:
   
    //**
   
    * 将数组的内部指针倒回一位
   
    * @param array &$arr
   
    * @return mixed 返回前一个单元的值,当没有更多单元时返回 FALSE
   
    * 如果数组包含空的单元,或者单元的值是 0 则本函数碰到这些单元也返回 FALSE
   
    * 要正确遍历可能含有空单元或者单元值为 0 的数组,参见 each() 函数
   
    */
   
    mixed prev(array &$arr);
   
    <?php
   
    $transport = array(‘foot', 'bike', 'car', 'plane’);
   
    $mode = current($transport); // $mode = 'foot';
   
    $mode = next($transport); // $mode = 'bike';
   
    $mode = next($transport); // $mode = 'car';
   
    $mode = prev($transport); // $mode = 'bike';
   
    $mode = end($transport); // $mode = 'plane';
   
    $mode = reset($transport) ;//$mode = 'foot';
   
    ?>
   
    array(“key”=>“value”);建立数组
   
    //显示数组
   
    print_r($array);
   
    //使用compact()函数新建数组,并把参数做为新数组的单元;
   
    $newArray = compact(“red”,“green”,“yellow”,“blue”,“array”);
   
    //使用extract()函数把数组中的单元转换为变量
   
    extract($exArray);
   
    echo “$key1 $key2 $key3 $key4 $key5”;
   
    ※检查值、键
   
    array_key_exists($key,$array);//检查数组键
   
    in_array($value,$array);//检查值于数组
   
    ※获取值
   
    //使用array_values()取得数组的值
   
    $carValues = array_values($car);
   
    //取出数组的键名
   
    $twoKeys = array_keys($two);
   
    key($array);//输出当前单元的键名
   
    //数组定义后,使用current()取得当前单元的值
   
    $red = current($array);
   
    list($red,$green) = $array;//把数组中的值赋与变量,$array = array(“红色”,“绿色”);
   
    each($two);//返回数组中当前单元的键和值
   
    ※遍历数组
   
    foreach($two as $subArray);//遍历数组
   
    while(list($key,$value) = each($array)){
   
    echo “$key=>$value,”;//使用each遍历数组
   
    }
   
    ※填充数组
   
    //向左、右填充数组
   
    array_pad($array,+3,“shuzhi”);//2参数为正从左往右填充,数值大于单元数时才填充
   
    $array1 = array_fill(5,5,“test”);//使用array_fill()填充这个数组的值,值为test,从第5个单元开始填充,一共填充5个单元
   
    //填充数组键名
   
    $keys = array(‘string', 5, 10, 'str’);
   
    $array3 = array_fill_keys($keys,“数组值”);
   
    //使用array_filp()函数交换键名与值
   
    $speed = array_flip($speed);
   
    //使用array_splice()函数替换第6个单元的值为7
   
    $output = array_splice($input,6,0,7);
   
    //使用array_splice()函数删除数组单元,只保留前5个单元
   
    $output = array_splice($input,5);
   
    $array1 = range(10,100,10); //使用range()函数的第三个参数,设置单元之间的步进值
   
    ※排序
   
    shuffle($array);//将数组顺序打乱
   
    //使用array_multisort()对三个数组排序
   
    array_multisort($sort1,$sort2,$sort3);
   
    //把这个数组进行排序,并保持索引关系
   
    asort($array);
   
    //把测试数组进行逆向排序,并保持索引关系
   
    arsort($array);
   
    //使用ksort()对数组按键名排序
   
    ksort($array);
   
    //使用krsort()函数按键名逆向排序
   
    krsort($array);
   
    //使用sort()对测试数组进行排序[以键名排列]
   
    sort($array);
   
    //使用natsort()排序[自然排序,以数值排列]对单元数值大小写敏感
   
    natsort($array);
   
    //使用natcasesort()函数排序[自然排序]但是忽略数值大小写
   
    natcasesort($array);
   
    //使用array_reverse()函数排序,数组单元按相反排列
   
    $newArray = array_reverse($array,TRUE);//TRUE设时保留原键名
   
    ※交集、差集
   
    //使用array_diff()计算三个数组的差集[对数组数值比较]
   
    $result = array_diff($dog1,$dog2,$dog3);
   
    //使用array_diff_assoc()计算三个数组的差集[对数值和键名比较]
   
    $result = array_diff_assoc($dog1,$dog2,$dog3);
   
    //使用array_diff_key()计算三个数组的差集[比较键名]
   
    $result = array_diff_key($dog1,$dog2,$dog3);
   
    //使用array_intersect()计算三个数组的交集[对数组数值比较]
   
    $result = array_intersect($dog1,$dog2,$dog3);
   
    //使用array_intersect_assoc()计算三个数组的交集[对数值和键名比较]
   
    $result = array_intersect_assoc($dog1,$dog2,$dog3);
   
    //使用array_intersect_key()计算三个数组的交集[比较键名]
   
    $result = array_intersect_key($dog1,$dog2,$dog3);
   
    ※合并数组
   
    //使用array_merge()函数合并数组
   
    $result = array_merge($array1,$array2,$array3,$array4,$array5);
   
    array_rand($input,10);//随机取出10个单元
   
    count($array,COUNT_RECURSIVE);//显示数组单元数目,2参数只可为1或者COUNT_RECURSIVE,有时可遍历多维数组
   
    ※出入栈
   
    //数组出栈,后进先出,数组最后一个单元弹出
   
    array_pop($array);
   
    //数组入栈,将7,8两个数值添加到数组尾部
   
    array_push($array,7,8);
   
    //将数组开头单元移出数组
   
    array_shift($array);
   
    //将7,8添加入数组开头
   
    array_unshift($array,7,8);  
作者: sun_sdsd    時間: 2014-3-5 14:46
php数组中指针操作的实现代码:
作者: yct1978    時間: 2014-3-12 12:23
学习学习




歡迎光臨 比思論壇 (http://108.170.5.102/) Powered by Discuz! X2.5