zoukankan      html  css  js  c++  java
  • 第3章 使用数组

    1.创建、初始化数组: $products=array(‘Tires’,’Oil’,’Spark Plugs’); 

                                        //array()和echo一样 是一个语言结果

                                        $numbers=range(1,10,2);  //range()函数升序创建1-10的差值为2的数字数组

                                        $letters=range(‘a’,’z’);   //range()也可对字符进行操作

    2.PHP中数组的大小会根据所增加元素的多少进行动态变化;

        如:$products[0]=’Tres’;   //若$products数组并不存在,此代码将创建一个只有一个元素的数组

    3.循环访问数组:for();   或者 foreach();   //foreach($products as $current){ echo $current.” “; }

    4.关联数组:有点像map;

        - 创建: $prices=array(‘Tires’=>100,’oil’=>10);   //符号=>是关键字和值之间的连接符

                     $prices[‘Spark Plugs’]=4;

        - 访问:$val=$prices[‘Oil’];

        - 循环:① foreach($prices as $key=>$value){ echo $key.” – “.$value.”<br />”; }

                     ②while($ele=each($prices){ echo $ele[‘key’].” – “.$ele[‘value’].”<br />”; }

                     ③reset($prices);

                         while(list($product,$price)=each($prices)){ echo “$product – $price<br />”; }

                         //使用each()函数时,数组会记录当前元素

                         //使用reset()函数将当前元素重新设置到数组开始处

    5.排序:

      (一)升序:

           ①sort();   普通一维数组排序,第二个参数:SORT_REGULAR(默认) 、SORT_NUMERIC(数值) 、SORT_STRING(字符串) 指定排序类型;

           ②asort();   按元素值排序;

           ③ksort();   按关键字排序;

      (二)降序:

            对应:rsort()  arsort()  krsort()

      (三)自定义排序:

            usort($products,’compare’); 

            //$products是被排序的数组,compare是用户定义的排序函数 function compare(…){ … }

      (四)重新排序:

            ①shuffle();  将数组各元素进行随机排序

            ②array_reverse();   返回数组的反向数组(注意:返回的是原数组修改后的副本,可以选择覆盖原版本或不覆盖)

                //array_push()函数将新元素添加到数组末尾,array_pop()函数删除并返回数组末尾元素

    6.其他数组操作:

       ①current() 返回当前元素的值(pos()函数是其别名);

       ②next() & each()  都使指针前移一个元素,但each()在指针前移前返回当前元素,next()则将指针前移再返回新的当前元素;

       ③prev()  与next()相反,将指针回移一个位置再返回新的当前元素;

       ④reset() & end()  前者返回指向数组首元素的指针,后者返回指向数组末尾的指针;

    7.array_walk(arr,func,[userdata]); 

       func(value,key,userdata);

       对arr的每一个元素都应用函数func,第三个参数用来传递函数func所带参数userdata;

       //当希望修改数组内容时,value用按引用方式传递(&)

    8.统计数组元素个数:

          count() & sizeof()  统计数组中的元素个数;

          array_count_values($arr);   返回一个数组,数组的关键字为$arr的元素值,数组的值为对应关键字在$arr中出现过的次数

    9.提取数组元素,转换成一系列变量:

         $array=array(‘key1’=>’value1’,’key2’=>’value2’);

         extract($array);

         echo “$key1 $key2”;  //将数组关键字转成变量名,关键字对应值作为转换后的变量值

         将输出:value1 value2 value3

        * 该函数还有两个可选参数extract_type和prefix,extract_type告诉extract()如何处理冲突

           最常用的值是:EXTR_OVERWRITE(默认值,冲突时覆盖已有变量)、

                                    EXTR_PREFIX_ALL(在所有变量名称前加上由prefix参数指定的值);

                          如:

                               $array=array(‘key1’=>’value1’,’key2’=>’value2’);

                               extract($array,EXTR_PREFIX_ALL,’my_prefix’);

                               echo “$my_prefix_key1 $my_prefix_key2”;

    10.补充:explode(“ ”,$orders[$i]); 以 制表符作为定界符分割传入的字符串

                   intval() 可将一个字符串转换成一个整数

  • 相关阅读:
    WCF Restful 服务 Get/Post请求
    网络共享做本地映射
    跨服务器存放文件(1)
    Socket通信简单实例(WCF调用Socket)
    HttpWebRequest传值
    实体对象,List泛型 转换为DataTable
    (转)打印相关_C#(PrintDocument、PrintDialog、PageSetupDialog、PrintPreviewDialog)
    (转)C#.NET WINFORM应用程序中控制应用程序只启动一次
    (转)C#操作Word文档
    (转)Java调用Weservice
  • 原文地址:https://www.cnblogs.com/atmacmer/p/5841858.html
Copyright © 2011-2022 走看看