PHP7编什么程

php面试基础知识--数组函数(二)

2019-05-19  本文已影响0人  沙蒿同学

返回数组中的数字或者字符串的部分或全部键名;第二个参数为输入键值则只返回该值的键名,例:

<?php
    $array = [
        'a' =>  '1',
        'b' =>  '2',
        'c' =>  '3'
    ];
    var_dump(array_keys($array));  //array('a', 'b', 'c');
    var_dump(array_keys($array, 'a'));  //null
    var_dump(array_keys($array, '1'));  //array('a');

返回数组中所有的值并给其建立数字索引,这个简单些没遇到什么坑。

<?php
    $array = [
        'a' =>  '1',
        'b' =>  '2',
        'c' =>  '3'
    ];
    var_dump(array_values($array));  //array('1', '2', '3');

差集:对比 array1 和其他一个或者多个数组,返回在 array1 中但是不在其他 array 里的值。

注意:返回键名保留不变,且函数只检查了多维数组中的一维

与array_diff ()不同的地方在于,这个家伙键名也用于比较

<?php
  $array1 = array("a" => "green", "red", "blue", "red");
  $array2 = array("a" => "green", "yellow", "red");
  $result1 = array_diff($array1, $array2);
  $result2 = array_diff_assoc($array1, $array2);
  print_r($result1);
  print_r($result2);
  //返回结果
  Array
  (
      [1] => blue
  )
  Array
  (
      [0] => red
      [1] => blue
      [2] => red
  )

?>

交集:返回一个数组,该数组包含了所有在 array1 中也同时出现在所有其它参数数组中的值。
注意:键名保留不变。

与array_intersect ()不同的地方在于,这个家伙键名也用于比较

<?php
    $array1 = array("a" => "green", "b" => "brown", "c" => "blue", "red");
    $array2 = array("a" => "green", "b" => "yellow", "blue", "red");
    $result_array1 = array_intersect($array1, $array2);
    $result_array2 = array_intersect_assoc($array1, $array2);
    print_r($result_array1);
    print_r($result_array2);
    //返回结果
    Array
    (
        [a] => green
        [c] => blue
        [0] => red
    )
    Array
    (
        [a] => green
    )
上一篇 下一篇

猜你喜欢

热点阅读