php 处理数组1

2025-12-31 14:38:26

1、//array_combine():生成一个数组,用一个数组的值作为键名,另一个数组的值作为值

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

$a2 = array("Cat","Dog","Horse","Cow");

print_r(array_combine($a1,$a2));    //Array ( [a] => Cat [b] => Dog [c] => Horse [d] => Cow ) 

2、//range():创建并返回一个包含指定范围的元素的数组。

$number = range(0,50,10);   //(0:序列的第一个值;50:序列结束值;10:每次的步长)

print_r ($number);  //Array ( [0] => 0 [1] => 10 [2] => 20 [3] => 30 [4] => 40 [5] => 50 ) 

3、//compact():创建一个由参数所带变量组成的数组

$firstname = "Peter";

$lastname = "Griffin";

$age = "38";

$result = compact("firstname", "lastname", "age");

print_r($result);   //Array ( [firstname] => Peter [lastname] => Griffin [age] => 38 ) 

4、//array_fill():用给定的值生成数组

$a = array_fill(2,3,"Dog");   //(2:填冲的第一个键值;3:填冲的数值;dog:填冲的内容)

print_r($a);    //Array ( [2] => Dog [3] => Dog [4] => Dog ) 

5、//array_chunk():把一个数组分割为新的数组块

$a = array("a"=>"cat","b"=>"dog","c"=>"horse","d"=>"Cow");

print_r(array_chunk($a,2));   //Array([0] => Array([a]=>cat [b]=>dog) [1] => Array([c]=>horse [d]=>cow))

6、//array_diff():返回两个数组的差集(键名保持不变)

$a1 = array(8=>"Cat",1=>"Dog",2=>"Horse",3=>"lion");

$a2 = array(4=>"Horse",5=>"Dog",6=>"bird",7=>"pig");

print_r(array_diff($a1,$a2));   //Array ( [8] => Cat [3] => lion )

print_r(array_diff($a2,$a1));   //Array ( [6] => bird [7] => pig ) 

7、// array_merge():直接合并数组;array_combine():根据参数顺序第一组为键,第二组为值;*/

echo "<hr/>";

$a1 = array("a"=>"Horse","b"=>"Dog");

$a2 = array("c"=>"Cow","b"=>"cat");

print_r(array_merge($a1,$a2));  //Array ( [a] => Horse [b] => Dog [c] => Cow [d] => cat ) 

8、//array_intersect():返回两个或多个数组的交集数组

$a1 = array(0=>"Cat",1=>"Dog",2=>"Horse");

$a2 = array(3=>"Horse",4=>"Dog",5=>"Fish");

print_r(array_intersect($a1,$a2));  // Array ( [1] => Dog [2] => Horse ) 

print_r(array_intersect($a2,$a1));  // Array ( [3] => Horse [4] => Dog )  

9、//array_serach在数组中搜索给定的值,如果成功则返回相应的键名(失败返回false)

$a = array("a"=>"Dog","b"=>"Cat","c"=>"Horse");

echo array_search("Dog",$a);    //a

10、//array_splice():把数组中的一部分去掉,并用其它的值取代

$a1 = array(4=>"Dog",'b'=>"Cat",'c'=>"Horse",6=>"Bird");

$a2 = array(3=>"Tiger",5=>"Lion");

array_splice($a1,1,2,$a2); 

11、//array_sum():计算数组中所有值的和

$a = array(0=>"5",1=>"15",2=>"25");

echo array_sum($a);     //45

12、//in_array():检查数组中是否存在某个值

$animals = array("dog", "cat", "cow", "horse");

if (in_array("cow",$animals)){

echo "Match found";

}else{

echo "Match not found";

}

13、//array_key_exists():检查给定的键名是否存在于数组中(    参数1:键名    参数2:数组  ):返回bool值

$animals = array("a"=>"dog", "b"=>"cat", "c"=>"cow", "d"=>"horse","d"=>"lion");

echo array_key_exists("a",$animals);    //1 没有不返回false值

14、$search_array = array('first' => 1, 'second' => 4);

if (array_key_exists('first', $search_array)) {

    echo "The 'first' element is in the array";

}   //The 'first' element is in the array

15、//key():返回数组内部指针当前指向元素的键名

//current():返回数组当前的元素

//next():把指向当前元素的指针移动到下一个元素的位置,并返回当前元素的值

//prev():把指向当前元素的指针移动到上一个元素的位置,并返回当前元素的值

//end():把当前内部指针指向最后一个元素,并返回该元素的值

//reset():把数组元素指针指向第一个值,并返回这个元素的值

16、//array_shift():删除数组中的第一个元素,并返回被删除元素的值

$a = array("1"=>"Dog","2"=>"Cat","3"=>"Horse");

echo array_shift($a);   //Dog

print_r ($a);       //Array ( [b] => Cat [c] => Horse ) 

17、//array_pop():删除数组中的最后一个元素

$a=array("Dog","Cat","Horse");

array_pop($a);

print_r($a);        //Array ( [0] => Dog [1] => Cat ) 

18、//shuffle():将数组打乱,键名为索引数组从0开始(不能直接打印shuffle,分开写)

$animals = array("a"=>"dog", "b"=>"cat", "c"=>"cow", "d"=>"horse","d"=>"lion");

shuffle($animals);

print_r($animals);  //Array ( [0] => dog [1] => cow [2] => cat [3] => lion ) 每刷新一次会随机变化

19、//count():计算数组中的单元数目式对象中的属性个数

$people = array("Peter", "Joe", "Glenn", "Cleveland");

echo count($people);        //4

20、//array_keys():返回数组所有的键,组成一个数组

$a = array("a"=>"Horse","b"=>"Cat","c"=>"Dog");

print_r(array_keys($a));    //Array ( [0] => a [1] => b [2] => c ) 

21、//array_flip():返回一个键值反转后的数组

$a = array(0=>"Dog",1=>"Cat",2=>"Horse");

print_r(array_flip($a));    //Array ( [Dog] => 0 [Cat] => 1 [Horse] => 2 ) 

22、//array_reverse():返回一个元素顺序相反的数组

$a = array("a"=>"Horse","b"=>"Cat","c"=>"Dog");

print_r(array_reverse($a)); //Array ( [c] => Dog [b] => Cat [a] => Horse ) 

23、//array_count_values():统计数组中所有值出现的次数

$a = array(1,2,3,4,1,1,3,5,3,2,1,3,4);

print_r(array_count_values($a));    //Array ( [1] => 4 [2] => 2 [3] => 4 [4] => 2 [5] => 1 )

24、//each():返回数组中当前的键/值对并将数组指针向后移动一步 

$foo = array("bob", "fred", "jussi", "jouni", "egon", "marliese");

$bar = each($foo);

print_r($bar);       //Array ( [1] => bob [value] => bob [0] => 0 [key] => 0 ) 

25、/**

 *  //原始键名被忽略(从零开始)(字符串顺序)

 *  sort():对值由小到大

 *  rsort():对值由大到小

 *

 *  //原始键名保留(字符串顺序)

 *  asort():对值从小到大

 *  arsort():对值从大到小

 **/

$my_array = array("a" => "Dog", "b" => "Cat", "c" => "Horse");

sort($my_array);

print_r($my_array);     //Array ( [0] => Cat [1] => Dog [2] => Horse )

$my_array = array("a" => "Dog", "b" => "Cat", "c" => "Horse");

asort($my_array);

print_r($my_array); //Array ( [b] => Cat [a] => Dog [c] => Horse ) 

26、/**

 * ksort():对下标由小到大

 * krsort():对下标由大到小

 **/

$my_array = array("h" => "Dog", "s" => "Cat", "a" => "Horse");

ksort($my_array);

print_r($my_array);     //Array ( [a] => Horse [h] => Dog [s] => Cat ) 

$my_array = array("e" => "Dog", "2" => "Cat", "a" => "Horse");//???????????????????????按什么顺序排序

ksort($my_array);

print_r($my_array);     //Array ( [a] => Horse [e] => Dog [2] => Cat ) ????????????????

27、/**

 * usort():使用用户自定义的回调函数对数组排序

 * uasort():使用用户自定义的回调函数对数组排序并保持索引关联

 * uksort():使用用户自定义的回调函数对数组排序对数组键排序

 **/

$v = array(1,3,5,2,4);

usort($v,'fun');

    function fun($v1,$v2){

        return ( $v1 > $v2 ) ? 1 : -1;

    }

print_r($v);    //Array ( [0] => 1 [1] => 2 [2] => 3 [3] => 4 [4] => 5  ) 

28、        /* 排序遍历结束 */

/**

 * sort():由小到大的字串排序(字母相等,比较不相等之后的一位大小)

 * natsort();由小到大的自然排序(字母相等,比较数值)***区分大小写

 * natcasesort():不区分大小写的自然排序

 **/

$a = array("a" => "id2", "b" => "id12", "c" => "id22","d" => "ID22");

sort($a); print_r($a); //Array ( [0] => ID22 [1] => id12 [2] => id2 [3] => id22 ) 

natsort($a); print_r($a); //Array ( [0] => ID22 [2] => id2 [1] => id12 [3] => id22 )

natcasesort($a); print_r($a); //Array ( [2] => id2 [1] => id12 [3] => id22 [0] => ID22 ) 

声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
相关推荐
  • 阅读量:158
  • 阅读量:74
  • 阅读量:192
  • 阅读量:26
  • 阅读量:90
  • 猜你喜欢