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

  • array_keys() : array

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

  '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');
  • array_values() : array

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

  '1',
        'b' =>  '2',
        'c' =>  '3'
    ];
    var_dump(array_values($array));  //array('1', '2', '3');
  • array_diff ( array array2 [, array $... ] ) : array

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

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

  • array_diff_assoc() : array

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

 "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
  )

?>
  • array_intersect ( array array2 [, array $... ] ) : array

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

  • array_intersect_assoc() : array

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

 "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
    )

你可能感兴趣的:(php面试基础知识--数组函数(二))