首页 > 编程 > PHP > 正文

前端学PHP之数组函数

2020-03-22 19:15:12
字体:
来源:转载
供稿:网友

  • 前面的话

      PHP中的数组功能非常强大,数组处理函数有着强大、灵活、高效的特点。PHP5提供了近100个操作数组的系统函数,包括排序函数、替换函数、数组计算函数等。下面将详细介绍数组函数

      [注意]关于javascript数组的22种方法移步至此

    键值操作

      数组的每个元素都是由键值对组成,通过元素的键名来访问对应的键值。关于键值操作有array_html' target='_blank'>values()、array_keys()、in_array()、array_flip()和array_reverse()这5个常用函数

    array_values

      array_values() 返回 input 数组中所有的值并给其建立数字索引

    array array_values ( array $input )
    <?php$array = array('size' => 'XL', 'color' => 'gold');//Array ( [0] => XL [1] => gold )print_r(array_values($array));?>

    array_keys

      array_keys() 返回 input 数组中的数字或者字符串的键名

    array array_keys ( array $array [, mixed $search_value [, bool $strict = false ]] )

      如果指定了可选参数 search_value,则只返回该值的键名。否则 input 数组中的所有键名都会被返回

      如果指定了可选参数 strict,表示判断在搜索的时候是否该使用严格的比较(===)

    <?php$array = array(0 => 100, 'color' => 'red');//Array ( [0] => 0 [1] => color ) print_r(array_keys($array));$array = array('blue', 'red', 'green', 'blue', 'blue');// Array ( [0] => 0 [1] => 3 [2] => 4 ) print_r(array_keys($array, 'blue'));$array = array('color' => array('blue', 'red', 'green'),               'size'  => array('small', 'medium', 'large'));Array ( [0] => color [1] => size )print_r(array_keys($array));?>

    in_array

      in_array — 检查数组中是否存在某个值

    bool in_array ( mixed $needle , array $haystack [, bool $strict = FALSE ] )

      如果第三个参数 strict 的值为 TRUE 则 in_array() 函数还会检查 needle 的类型是否和 haystack 中的相同

    <?php$os = array('Mac', 'NT', 'Irix', 'Linux');if (in_array('Irix', $os)) {    //Got Irix    echo 'Got Irix';}if (in_array('mac', $os)) {    echo 'Got mac';}?>

    array_flip

      array_flip — 交换数组中的键和值,成功时返回交换后的数组,如果失败返回 NULL

    array array_flip ( array $trans )

      array_flip() 返回一个反转后的 array,例如 trans 中的键名变成了值,而 trans 中的值成了键名

      如果同一个值出现了多次,则最后一个键名将作为它的值,所有其它的都丢失了

      [注意]trans中的值需要能够作为合法的键名,例如需要是 integer 或者 string。如果值的类型不对将发出一个警告,并且有问题的键/值对将不会反转

    <?php$trans = array('a' => 1, 'b' => 1, 'c' => 2);$trans = array_flip($trans);//Array ( [1] => b [2] => c )print_r($trans);?>

    array_reverse

      array_reverse — 返回一个单元顺序相反的数组

    array array_reverse ( array $array [, bool $preserve_keys = false ] )

      如果参数preserve_keys设置为 TRUE 会保留数字的键。非数字的键则不受这个设置的影响,总是会被保留

    <?php$input  = array('php', 4.0, array('green', 'red'));$result = array_reverse($input);/*array (size=3)  0 =>     array (size=2)      0 => string 'green' (length=5)      1 => string 'red' (length=3)  1 => float 4  2 => string 'php' (length=3) */var_dump($result);$result_keyed = array_reverse($input, true);/*array (size=3)  2 =>     array (size=2)      0 => string 'green' (length=5)      1 => string 'red' (length=3)  1 => float 4  0 => string 'php' (length=3) */var_dump($result_keyed);?>

    记数

    count

      count — 计算数组中的单元数目或对象中的属性个数

    int count ( mixed $var [, int $mode = COUNT_NORMAL ] )

      如果可选的 mode 参数设为 COUNT_RECURSIVE(或 1),count() 将递归地对数组计数。对计算多维数组的所有单元尤其有用。mode 的默认值是 0。count() 识别不了无限递归

    郑重声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,多谢。

  • 发表评论 共有条评论
    用户名: 密码:
    验证码: 匿名发表