php--array基本操作

1、array_column() 返回数组总某个单一列的值

      用法:array_column(array , column_key , index_key);

      参数:① array---规定要使用的多维数组(必选)

                  ② column_key---需要返回值的列,可以是索引数组的整数索引,或者关联数组的列的字符串键值。

                       该参数也可以是null,此时将返回整个数组(配合index_key)参数来重置数组键时候, 非常有用)

                 ③ index_key---用作返回数组的索引/键的列(可选)

       实例:

// 表示由数据库返回的可能记录集的数组
$a = array(
  array(
    'id' => 5698,
    'first_name' => 'Bill',
    'last_name' => 'Gates',
  ),
  array(
    'id' => 4767,
    'first_name' => 'Steve',
    'last_name' => 'Jobs',
  )
  array(
    'id' => 3809,
    'first_name' => 'Mark',
    'last_name' => 'Zuckerberg',
  )
);

$last_names = array_column($a, 'last_name', 'id');
print_r($last_names);

输出:

Array
(
  [5698] => Gates
  [4767] => Jobs
  [3809] => Zuckerberg
)

2、array_combine()通过合并两个数组来创建一个新数组,其中一个数组是键名,另一个数组的值为键值

      注意:键名数组和键值数组的元素个数必须相同,其中一个数组为空,或者两个数组的元素个数不同,则该函数返回false

      用法:array_combine(keys , values);

      参数:① keys---键名数组(必选)

                  ② values---键值数组(必选)

实例:

$fname=array("Bill","Steve","Mark");
$age=array("60","56","31");

$c=array_combine($fname,$age);
print_r($c);

输出:

Array ( [Bill] => 60 [Steve] => 56 [Mark] => 31 )

3、array_count_values()函数对数组中的所有值进行计数

      用法:array_count_values(array)

                  本函数返回一个数组,其元素的键名是原数组的值,键值是该值在原数组中出现的次数

      参数:规定需要对值进行计数的数组(必选)

实例:

$a=array("A","Cat","Dog","A","Dog");
print_r(array_count_values($a));

输出:

Array ( [A] => 2 [Cat] => 1 [Dog] => 2 )

4、array_diff()比较两个数组并返回差集

      用法:array_diff(array1 , array2 , array3...)

                  函数返回两个数组的差集数组。该数组包括了所有在被比较的数组中,

                 但是不在任何其他参数书组中的键值,在返回数组中,键名保持不变

      参数:① array1---与其他数组进行比较的第一个数组(必选)

                  ② array2---与第一个数组进行比较的数组

实例:

$a1=array("a"=>"red","b"=>"green","c"=>"blue","d"=>"yellow");
$a2=array("e"=>"red","f"=>"green","g"=>"blue");

$result=array_diff($a1,$a2);
print_r($result);
输出:

Array ( [d] => yellow )
同类: ① array_diff_assoc()返回差集(比较键名和数组)

            ② array_diff_key()(只比较键名)

5、array_key_exists()检查某个数组中是否存在指定的键名

      用法:array_key_exists(key , array)
                  如果键存在则返回true,否则返回false

      参数:① key---规定键名(必选)

                  ② array---规定数组(必选)            
实例:

$a=array("Volvo"=>"XC90","BMW"=>"X5");
if (array_key_exists("Volvo",$a))
  {
  echo "键存在!";
  }
else
  {
  echo "键不存在!";
  }

输出:

键存在!

6、array_merge()把两个数组合并为一个数组

      用法:array_merge(array1 , array2 , array3...)

      注意:如果两个或更多个数组元素有相同的键名,则最后的元素会覆盖其他元素

实例:

$a1=array("a"=>"red","b"=>"green");
$a2=array("c"=>"blue","b"=>"yellow");
print_r(array_merge($a1,$a2));
输出:

Array ( [a] => red [b] => yellow [c] => blue )

7、array_merge_recursive()把一个或多个数组合并为一个数组

      用法:array_merge_recursive(array1 , array2 , array3 ...)

      注意:该函数与array_merge()的区别在于处理两个或更多个数组元素有相同的键名时。

                  array_merge_recursive()不会进行键名覆盖,而是将多个相同键名的值递归成一个数组

实例:

$a1=array("a"=>"red","b"=>"green");
$a2=array("c"=>"blue","b"=>"yellow");
print_r(array_merge_recursive($a1,$a2));

输出:

Array ( [a] => red [b] => Array ( [0] => green [1] => yellow ) [c] => blue )

8、array_reverse()以相反的元素顺序返回数组

       用法:array_reverse(array , preserve)将原数组中的元素顺序翻转,创建新的数组并返回

       参数:①array---规定数组(必须)

                   ②preserve---规定是否保留原始数组的键名(true,false)

实例:

$a=array("a"=>"Volvo","b"=>"BMW","c"=>"Toyota");
print_r(array_reverse($a));
输出:

Array ( [c] => Toyota [b] => BMW [a] => Volvo )

9、in_array()搜索数组中是否存在指定的值

      用法:in_array(search , array , type)

      参数:① search---规定在数组搜索的值(必需)

                  ② array---规定要搜索的数组(必需)

                  ③ type---如果设置该参数为true,则检查搜索的数据与数组的值的类型是否相同(可选)

       注意:如果给定的值search存在于数组array中则返回true。

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

                   如果search参数是字符串,且type参数设置为true,则搜索区分大小写

实例:

$people = array("Bill", "Steve", "Mark", "David");

if (in_array("Mark", $people))
  {
  echo "匹配已找到";
  }
else
  {
  echo "匹配未找到";
  }
输出:

匹配已找到

10、count()返回数组中元素的数目

         用法:count(array , mode)

         参数:① array--规定数组(必需)

                     ② mode---规定模式,可能值有:

                     0-默认,不对多维数组中的所有元素进行计数

                     1-递归地计数数组中元素的数目(计算多维数组中的所有元素)

实例:

$cars=array
  (
  "Volvo"=>array
  (
  "XC60",
  "XC90"
  ),
  "BMW"=>array
  (
  "X3",
  "X5"
  ),
  "Toyota"=>array
  (
  "Highlander"
  )
  );

echo "常规计数:" . count($cars)."<br>";
echo "递归计数:" . count($cars,1);
输出:

常规计数:3
递归计数:8




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值