成都网站建设设计

将想法与焦点和您一起共享

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

array_unique(array);

创新互联是一家专业的成都网站建设公司,我们专注网站设计、成都网站设计、网络营销、企业网站建设,外链1元广告为企业客户提供一站式建站解决方案,能带给客户新的互联网理念。从网站结构的规划UI设计到用户体验提高,创新互联力求做到尽善尽美。

作用:

    去除数组中重复的值,如果key不同保留第一个元素的key值

参数:

    array: 数组

返回值:

    返回去重后的数组

例子:去除数组中相同的value

 $a = array('a' => 'red', 'b' => 'blue', 'c' => 'red');
 
 $res = array_unique($a);
 print_r($res);
 
 输出结果:
 Array
 (
    [a] => red
    [b] => 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
 (
    [0] => name
    [1] => age
    [2] => purple
    [3] => yellow
    [4] => red
    [a] => red
    [b] => blue
 )

 

array_values(array)

作用:

    返回数组中所有的值

参数:

     array:数组

返回值:

    返回数组中所有的值

例子:获取数组中所有的值

 $a = array(0  => 'red', 'a' => 'red', 'b' => 'blue');
 $res = array_values($a);
 print_r($res);
 
 输出结果:
 Array
 (
    [0] => red
    [1] => red
    [2] => 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
 (
    [a] => purple
    [b] => hello
    [c] => 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
(
    [a] => purple
    [b] => hello
    [c] => red
    [0] => Array
        (
            [d] => black
            [e] => blue
        )

)

success
success
使用array_walk_recursive  //key为a和d的值都修改成功
Array
(
    [a] => purple
    [b] => hello
    [c] => red
    [0] => Array
        (
            [d] => purple
            [e] => blue
        )

)

分享文章:php学习笔记--数组篇(10)
标题路径:http://chengdu.cdxwcx.cn/article/ihpgsi.html