php 学习笔记 数组3

15、使用数组

  1)、并集(union)  array_merge(array1,array2,array3..) 函数把两个或多个数组合并为一个数组,后面覆盖前面

  2)、 交集(intersection)  array_intersect(array1,array2,array3...) 函数返回两个或多个数组的交集数组(区分大小写)

  3)、 差集(difference)  array_diff(array1,array2,array3...) 函数返回两个数组的差集数组,可用一个或任意多个数组与第一个数组进行比较,仅有值用于比较

  ps、合并两个数组,并删除相同的值

function arrayUnion($a, $b) {

   $union = array_merge($a, $b);

   $union = array_unique($union);

   return $union     

}

16、从数组中过滤元素

  array_filter(array,function)   函数用回调函数过滤数组中的元素

function myfunction($v)

{

    if ($v==="Horse")

    {

        return true;

    }

    return false;

}

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

print_r(array_filter($a,"myfunction"));

 17、排序

  php 提供三种对数组排序的方法:按键排序,不改变键的按值排序,改变键的按值排序

 排序方法    升序      降序      自定义排序
 键排序改变键值  sort()  rsort()  usort()
 键排序不改变键值  asort()  arsort()  uasort()
 键排序  ksort()  krsort()  uksort()

 

 

 

 

 

  自定义排序:

function cmp($a, $b){

    if ($a == $b) {

        return 0;

    }

    return ($a > $b) ? -1 :1;

}

$a = array(4 => "four", 3 => "three", 20 => "twenty", 10 => "ten");

uksort($a, "cmp");

while (list($key, $val) = each($a)) {

    echo "$key = $val<br>\n";

}

  按自然顺序排序

 $array2 = array("img12.png", "img10.png", "img2.png", "img1.png");

 natsort($array2);
(

    [3] => img1.png

    [2] => img2.png

    [1] => img10.png

    [0] => img12.png

)

  shuffle 数组的随机排序(不保留键名)

18、翻转数组

  array_reverse(array,preserve) 翻转数组中元素的内部顺序,创建新的数组并返回。如果第二个参数指定为 true,则元素的键名保持不变,否则键名将丢失。(索引数组)

  array_flip() 键值互换

19、查找元素值

  in_array(value,array[,type])  函数在数组中搜索给定的值

  如果给定的值 value 存在于数组 array 中则返回 true。如果第三个参数设置为 true,函数只有在元素存在于数组中且数据类型与给定值相同时才返回 true。

  

 

你可能感兴趣的:(学习笔记)