发表于 2018-12-14 11:04:49

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

  array_unique(array);
  作用:
  去除数组中重复的值,如果key不同保留第一个元素的key值
  参数:
  array: 数组
  返回值:
  返回去重后的数组
  例子:去除数组中相同的value
$a = array('a' => 'red', 'b' => 'blue', 'c' => 'red');
$res = array_unique($a);
print_r($res);
输出结果:
Array
(
    => red
    => blue
)  

  array_unshift(array, value1, value2, value3.........)
  作用:
  在数组的开头插入一个或者多个新元素
  参数:
  array:需要插入新元素的数组
  value1:新元素
  value2:新元素
  返回值:
  返回插入新元素后数组的个数
  例子:向数组中插入多个元素
$a = array(0=> 'red', 'a' => 'red', 'b' => 'blue');
$res = array_unshift($a, 'name', 'age', 'purple', 'yellow');
print_r($res); //插入元素后的数组个数
print_r("\n");
print_r($a); //插入元素后的数组
输出结果:
7
Array
(
    => name
    => age
    => purple
    => yellow
    => red
    => red
    => blue
)  

  array_values(array)
  作用:
  返回数组中所有的值
  参数:
  array:数组
  返回值:
  返回数组中所有的值
  例子:获取数组中所有的值
$a = array(0=> 'red', 'a' => 'red', 'b' => 'blue');
$res = array_values($a);
print_r($res);
输出结果:
Array
(
    => red
    => red
    => blue
)  

  array_walk(array, strng, parames);
  作用:
  使用自定义函数对数组中的key和value做相关操作
  参数:
  array:数组
  string:自定义函数名
  parames:可选,自定义的参数
  返回值:
  成功返回true,失败返回false

  例子:修改数组的key为a的值为purple
$a = array('a' => 'yellow', 'b' => 'hello', 'c' => 'red');
function myFunction(&$value, $key, $str)
{
   if('a' ===$key)
   {   
      $value = 'purple';
      echo $str."\n";
   }   
}
array_walk($a, 'myFunction', '修改成功');
print_r($a);
输出结果:
修改成功
Array
(
    => purple
    => hello
    => red
)  

  array_walk_recursive(array, string, parames);
  作用:
  与array_walk的作用相同,不同:array_walk _recursive()可以操作数组中包涵数组
  参数:
  array:数组
  string:自定义函数名
  parames:可选,自定义的参数
  返回值:
  成功返回true,失败返回false
  例子:修改数组中的值
$b = array('d' => 'black', 'e' => 'blue');
$a = array('a' => 'yellow', 'b' => 'hello', 'c' => 'red', $b);
function myFunction(&$value, $key, $str)
{
   if('a' ===$key || 'd' === $key)
   {   
      $value = 'purple';
      echo $str."\n";
   }   
}
array_walk($a, 'myFunction', '修改成功');
print_r("使用array_walk\n");
print_r($a);
print_r("\n");
array_walk_recursive($a, 'myFunction', 'success');
print_r("使用array_walk_recursive\n");
print_r($a);
输出结果:
修改成功
使用array_walk//只是修改了key为a的值
Array
(
    => purple
    => hello
    => red
    => Array
      (
             => black
             => blue
      )
)
success
success
使用array_walk_recursive//key为a和d的值都修改成功
Array
(
    => purple
    => hello
    => red
    => Array
      (
             => purple
             => blue
      )
)


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