• 数组作为栈来用的函数。具体使用比较简单


      函数名支持版本

      函数声明

      说明及参数、返回值

      例子

      OK,Let's go.

      //*************************

      array_flip(PHP4>=4.0b4)

      array array_flip(array trans)

      将数组trans的key、value交换,就是key变value,而value变key了。

      返回完成处理的数组。

      例:

      $a[0]="abc";

      $a[1]="def";

      After an array_flip()you get:

      $a["abc"]=0;$a["def"]=1;

      //***************************

      array_count_values(PHP4>=4.0b4)

      array array_count_values(array input)

      统计input数组中各个值的个数。返回一个数组,以input的值做为key,以出现个数为value的新数组。

      例:

      $array=array(1,"hello",1,"world","hello");

      array_count_values($array);

      //returns array(1=>2,"hello"=>2,"world"=>1)

      //*****************************

      array_merge(PHP4)

      array array_merge(array array1,array array2[,array...])

      合并多个数组,把array2的内容加在array1的后面。返回结果数组。

      如果是关联数组,以字串为key,出现同名的key,则后面的会覆盖前面的,而下标数组不会出现覆盖的现象,只是添加在后面。

      例:

      $array1=array("color"=>"red",2,4);

      $array2=array("a","b","color"=>"green","shape"=>"trapezoid",4);

      array_merge($array1,$array2);

      //Resulting array will be array("color"=>"green",2,4,"a","b","shape"=>"trapezoid",4).

      See also array_merge_recursive().

      //******************************

      array_merge_recursive(PHP4>=4.0.1)

      array array_merge_recursive(array array1,array array2[,array...])

      递归合并数组,与上个函数基本类似。区别在于,在关联数组方面,它不是简单地把相同的key合并,还是生成一个二维数组来合并这相同key的value。(表达不清,不好意思,看例子吧)。

      例:

      $ar1=array("color"=>array("favorite"=>"red"),5);

      $ar2=array(10,"color"=>array("favorite"=>"green","blue"));

      $result=array_merge_recursive($ar1,$ar2);

      //Resulting array will be array("color"=>array("favorite"=>array("red","green"),"blue"),5,10).

      明白了吗?red,green被合并成一个新的数组了,放在favorite里。

      See also array_merge().

      //*******************************

      array_intersect(PHP4>=4.0.1)

      array array_intersect(array array1,array array2[,array...])

      取多个数组的交集,返回包含交集元素的新数组。

      以array1为基础的,所以了,如果是关联数组,那key值就是array1的了。见例子。

      例:

      $array1=array("a"=>"green","red","blue");

      $array2=array("b"=>"green","yellow","red");

      $result=array_intersect($array1,$array2);

      //This makes$result have array("a"=>"green","red");

      See also array_diff().

      //*******************************************

      array_diff(PHP4>=4.0.1)

      array array_diff(array array1,array array2[,array...])

      与上个函数相反,这是取多个数组的差集了。

      例:

      $array1=array("a"=>"green","red","blue");

      $array2=array("b"=>"green","yellow","red");

      $result=array_diff($array1,$array2);

      //This makes$result have array("blue");

      See also array_intersect().

      //*******************************************

      array_keys(PHP4)

      array_values(PHP4)

      array array_keys(array input[,mixed search_value])

      array array_values(array input)

      这两个函数有关系,放在一起了。

      array_keys可以取出数组所有的key,如果定义了search_value,就只取相应的key值。

      array_values取出数组input的所有value值。

      例:

      $array=array("size"=>"XL","color"=>"gold");

      array_values($array);//returns array("XL","gold")

      $array=array(0=>100,"color"=>"red");

      array_keys($array);//returns array(0,"color")

      $array=array("blue","red","green","blue","blue");

      array_keys($array,"blue");//returns array(0,3,4)

      //**********************************************

      array_multisort(PHP4>=4.0b4)

      bool array_multisort(array ar1[,mixed arg[,mixed...[,array...]]])

      对多个数组同时进行排序,或是对一个多维数组进行多个维的排序。(很有用哦,我上回在中文用户就问了这个问题)。

      输入的数组被处理成表的列,按行来排序,有点类似于sql语句中的order by条件。

      这个函数的参数不常见,但是很灵活。可是一个数组或是下面这几个标志。

      SORT_ASC-升序

      SORT_DESC-降序

      SORT_REGULAR-常规比较

      SORT_NUMERIC-数值比较

      SORT_STRING-字串比较

      一个数组不可以同时给两种类型的排序标志(这个当然了)。每个数组后的标志只对此数组有效。缺省为SORT_ASC和SORT_REGULAR。

      如果正常,返回true,否则返回false。

      例1:

      $ar1=array("10",100,100,"a");

      $ar2=array(1,3,"2",1);

      array_multisort($ar1,$ar2);

      //结果是$ar1=10,"a",100,100.$ar2=1,1,2,"3".

      例2:

      $ar=array(array("10",100,100,"a"),array(1,3,"2",1));

      array_multisort($ar[0],SORT_ASC,SORT_STRING,

      $ar[1],SORT_NUMERIC,SORT_DESC);

      //after sorting,the first array will contain 10,100,100,"a"(it was sorted as strings in ascending order),and the second one will contain 1,3,"2",1(sorted as numbers,in descending order).

      不过,上面这个例子我试了一下,不行,会报参数3要求是数组的错误。(???这个俺也不知了)

      如果你直接用array_multisort($ar[0],SORT_ASC,$ar[1],SORT_DESC);可以。

      //******************************************

      array_pop(PHP4)

      array_push

      array_shift

      array_unshift

      mixed array_pop(array array)

      int array_push(array array,mixed var[,mixed...])

      mixed array_shift(array array)

      int array_unshift(array array,mixed var[,mixed...])

      数组作为栈来用的函数。具体使用比较简单了:

      pop弹出最后一个元素,返回元素值。

      push把参数var加入数组最后。返回位置。与$array[]=$var功能相同。返回数组新的元素个数。

      shift把数组第一个元素弹出,其它顺移一位,相当于左位移。但数组元素个数减小1。返回弹出的元素。

      unshift在数组前面加入一个或多个元素,返回新的数组个数。

      Example 1.Array_pop()example

      $stack=array("orange","apple","raspberry");

      $fruit=array_pop($stack);

      //After this,$stack has only 2 elements:"orange"and"apple",and$fruit has"raspberry".

      Example 2.Array_push()example

      $stack=array(1,2);

      array_push($stack,"+",3);

      //This example would result in$stack having 4 elements:1,2,"+",and 3.

      Example 3.Array_shift()example

      $args=array("-v","-f");

      $opt=array_shift($args);

      //This would result in$args having one element"-f"left,and$opt being"-v".

      Example 4.Array_unshift()example

      $queue=array("p1","p3");

      array_unshift($queue,"p4","p5","p6");

      //This would result in$queue having 5 elements:"p4","p5","p6","p1",and"p3".

      //***************************************

      array_rand(PHP4>=4.0.02881064151)

      mixed array_rand(array input[,int num_req])

      从数组中随机选出一个或多个元素。参数num_req给出要选出的元素个数,缺省为1。

      返回一个数组,内容是所选出元素的key。

      事先要先调用srand()来产生随机数种子。

      Example 1.Array_rand()example

      srand((double)microtime()*10000000);

      $input=array("Neo","Morpheus","Trinity","Cypher","Tank");

      $rand_keys=array_rand($input,2);

      print$input[$rand_keys[0]]."n";

      print$input[$rand_keys[1]]."n";

      //**************************************

      array_reverse(PHP4>=4.0b4)

      array array_reverse(array input)

      返回一个新数组,把input的元素取相反次序。

      Example 1.Array_reverse()example

      $input=array("php",4.0,array("green","red"));

      $result=array_reverse($input);

      //This makes$result have array(array("green","red"),4.0,"php").

      //****************************************

      array_slice(PHP4)

      array array_slice(array array,int offset[,int length])

      取一个数组的一部分,从offset开始,长度为length,缺省为到结束。

      返回一个新数组。

      offset若为正,从数组的offset位置开始,若为负,则从数组的结尾倒数算起。

      length为正,是新数组的长度,为负,则也是从数组的结尾倒数。

      Example 1.Array_slice()examples

      $input=array("a","b","c","d","e");

      $output=array_slice($input,2);//returns"c","d",and"e"

      $output=array_slice($input,2,-1);//returns"c","d"

      $output=array_slice($input,-2,1);//returns"d"

      $output=array_slice($input,0,3);//returns"a","b",and"c"

      //******************************************

      array_splice(PHP4)

      array array_splice(array input,int offset[,int length[,array replacement]])

      从数组中移去从offset开始,长度为length的部份,如果给出了replacement[]参数,则用此参数来取代移去部份。

      对于offset、length的处理判断,与上例相同。

      如果有replacement参数,则用此参数来取代移去部份,如果没有移去,则在offset位置插入。

      以下操作等效:

      array_push($input,$x,$y)array_splice($input,count($input),0,

      array($x,$y))

      array_pop($input)array_splice($input,-1)

      array_shift($input)array_splice($input,0,1)

      array_unshift($input,$x,$y)array_splice($input,0,0,array($x,$y))

      $a[$x]=$y array_splice($input,$x,1,$y)

      返回一个包含移去元素以后的新数组。

      Example 1.Array_splice()examples

      $input=array("red","green","blue","yellow");

      array_splice($input,2);//$input is now array("red","green")

      array_splice($input,1,-1);//$input is now array("red","yellow")

      array_splice($input,1,count($input),"orange");

      //$input is now array("red","orange")

      array_splice($input,-1,1,array("black","maroon"));

      //$input is now array("red","green",

      //"blue","black","maroon")

      //***********************

      array_unique(PHP4>=4.0.1)

      array array_unique(array array)

      从一个数组中移去重复的值。返回新的数组。

      如果是关联数组,key以第一个为准。

      Example 1.Array_unique()example

      $input=array("a"=>"green","red","b"=>"green","blue","red");

      $result=array_unique($input);

      //This makes$result have array("a"=>"green","red","blue");.

  • 相关阅读:
    跨域问题
    Django缓存机制
    Django Reat Framework --- 版本控制
    Hellow!
    回忆
    突然看见新评论通知
    [退役前的小声bbbbbbbbbbbbbbbbbbbbbb]
    【题解】【CQOI2018】解锁屏幕(玄学优化)
    solution
    1009-自闭++
  • 原文地址:https://www.cnblogs.com/cbryge/p/6030763.html
Copyright © 2020-2023  润新知