色破飞机 发表于 2018-12-14 11:34:38

php 学习笔记--数组篇(4)

  array_key_exists(key,array);
  作用:
  array数组中是否存在key
  返回:
  bool存在返回true,不存在返回false
  例子:数组中是否存在name
$arr = array(
   'name' => 'char',
   'age' => 21,
   'sex' => 'f'
);
if(array_key_exists('name', $arr))
{
   echo 'name存在';
}
else
{
   echo 'name不存在';
}
输出结果:
   name存在  

  array_keys(array, value, bool);
  作用:
  获取数组中的key值
  参数:
  array:数组
  value:可选,指定数组中的value
  bool:可选默认未false,与value值一起使用,默认不需要匹配value的类型,true会匹配类型。
  返回值:
  返回包含key的数组
  例子:
$arr = array(
   'name' => 'char',
   'age' => 21,
   'sex' => 'f'
);
$keys =array_keys($arr);       //获取数组的key 值
$key1 =array_keys($arr, '21'); //获取value为21的key值
$key2 =array_keys($arr, '21', true); //获取value为21的key值,并且value为字符串
print_r($keys);
print_r($key1);
print_r($key2);
输出结果:
Array
(
    => name
    => age
    => sex
)
Array
(
    => age
)
Array
(
)  

  array_map(string, array);
  作用:
  通过自定义函数,处理数组中的每个参数并返回
  参数:
  string:函数名
  array:数组
  返回值:
  返回新的数组
  例子:将数组的每个参数都乘2
function myFunction($v)
{
   return $v*2;
}
$arrOne = array('a'=>1, 'b' => 2 , 3, 4, 5);
$res = array_map('myFunction', $arrOne);
print_r($res);
输出结果:
Array
(
    => 2
    => 4
    => 6
    => 8
    => 10
)  

  array_merge(array1, array2);
  作用:
  合并一个或者多个数组
  参数:
  array1:合并的数组1
  array2:合并的数组2
  返回值:
  合并后的数组
  例子:
$arrOne = array('a' => 'blue', 'b' => 'yellow');
$arrTwo = array('a' => 'red', 'd' => 'purple');
$res = array_merge($arrOne, $arrTwo);
print_r($res);
输出结果:
Array
(
    => red
    => yellow
    => purple
)  

  array_merge_recursive(array1, arrray2);
  作用:
  递归合并多个数组,与array_merge()区别,在处理同key名的值时不会覆盖
  参数:
  array1: 合并的数组1
  aray2: 合并的数组2
  返回值:
  合并后的数组
  例子:
$arrOne = array('a' => 'blue', 'b' => 'yellow');
$arrTwo = array('a' => 'red', 'd' => 'purple');
$resRe = array_merge_recursive($arrOne, $arrTwo);
print_r($resRe);
输出结果:
Array
(
    => Array
      (
             => blue
             => red
      )
    => yellow
    => purple
)  

  




页: [1]
查看完整版本: php 学习笔记--数组篇(4)