• 
    
  • <tbody id="a8qsl"><track id="a8qsl"></track></tbody>
    <tbody id="a8qsl"><pre id="a8qsl"></pre></tbody>

      <dd id="a8qsl"><noscript id="a8qsl"></noscript></dd>
      您的位置 >>> 星想互联 >>> 编程技术 >>> PHP基础
      php常用数组函数
      点击数:1207  发布时间2020-06-07 18:51:23
      常用函数
      1. 可用于队列操作
      array_push($arr, $value1, ...)将一个或多个单元压入数组的末尾(入栈)
      array_pop($arr);弹出数组最后一个单元(出栈)
      array_unshift($arr, $value1, ...);在数组开头插入一个或多个单元
      array_shift($arr);将数组开头的单元移出数组
      2. 数组自定义操作
      array_map()
      语法:array array_map ( callable $callback , array $array1 [, array $... ] )
      说明:返回数组,是为 array1 每个元素应用 callback函数之后的数组。 callback 函数形参的数量和传给 array_map() 数组数量,两者必须一样。
      详细使用
      例:
        <?php
      function cube($n)
      {
          return($n * $n * $n);
      }

      $a = array(1, 2, 3, 4, 5);
      $b = array_map("cube", $a);
      print_r($b);

      输出:
      Array
      (
          [0] => 1
          [1] => 8
          [2] => 27
          [3] => 64
          [4] => 125
      )

      array_walk()
      语法:bool array_walk ( array &$array , callable $callback [, mixed $userdata = NULL ] )
      说明:使用用户自定义函数对数组中的每个元素做回调处理,不会受到 array 内部数组指针的影响。array_walk() 会遍历整个数组而不管指针的位置。
      具体使用
      例:
      $fruits = array("d" => "lemon", "a" => "orange", "b" => "banana", "c" => "apple");

      function test_alter(&$item1, $key, $prefix) {
          $item1 = "$prefix: $item1";
      }

      function test_print($item2, $key) {
          echo "$key. $item2<br />\n";
      }

      echo "Before ...:\n";
      array_walk($fruits, 'test_print');

      array_walk($fruits, 'test_alter', 'fruit');
      echo "... and after:\n";

      array_walk($fruits, 'test_print');

      结果:
      Before ...:
      d. lemon
      a. orange
      b. banana
      c. apple
      ... and after:
      d. fruit: lemon
      a. fruit: orange
      b. fruit: banana
      c. fruit: apple

      例:
      $origin = [
      ['status' => 'error', 'num' => 5],
      ['status' => 'success', 'num' => 3]
      ];
      $statistics = [];
       array_walk($origin, function ($value) use (&$statistics) {
          return $statistics[$value['status']] = $value['num'];
      });
      //statistics = [
          //'error' => 5,
          //'success' => 3
      //];

      array_reduce()
      语法:mixed array_reduce ( array $array , callable $callback [, mixed $initial = NULL ] )
      说明:用回调函数迭代地将数组简化为单一的值,
      具体使用
      参数:
      callback
      mixed callback ( mixed $carry , mixed $item )
      carry
      携带上次迭代里的值; 如果本次迭代是第一次,那么这个值是 initial。

      item
      携带了本次迭代的值。

      initial
      如果指定了可选参数 initial,该参数将在处理开始前使用,或者当处理结束,数组为空时的最后一个结果。

      例:
        <?php
      function sum($carry, $item)
      {
          $carry += $item;
          return $carry;
      }

      function product($carry, $item)
      {
          $carry *= $item;
          return $carry;
      }

      $a = array(1, 2, 3, 4, 5);
      $x = array();

      var_dump(array_reduce($a, "sum")); // int(15)
      var_dump(array_reduce($a, "product", 10)); // int(1200), because: 10*1*2*3*4*5
      var_dump(array_reduce($x, "sum", "No data to reduce")); // string(17) "No data to reduce"

      3. 多数组操作
      array_merge($array1, $array2, ...)合并一个或多个数组
      array_diff($array1, $array2, ...) 计算数组的差集; 对比 array1 和其他一个或者多个数字,返回在 array1 中但是不在其他 array 里的值。
      array_intersect($array1, $array2, ...)计算数组的交集;返回一个数组,该数组包含了所有在 array1 中也同时出现在所有其它参数数组中的值。注意键名保留不变。
      4. 其他
      array_keys 返回数组中部分的或所有的键名
      array_values 返回数组中所有的值
      array_unique 移除数组中重复的值
      array_multisort 对多个数组或多维数组进行排序
      array_reverse 返回单元顺序相反的数组
      array_slice 从数组中取出一段
      语法:array array_slice ( array $array , int $offset [, int $length = NULL [, bool $preserve_keys = false ]] )
      array_search 在数组中搜索给定的值,如果成功则返回首个相应的键名
      语法:mixed array_search ( mixed $needle , array $haystack [, bool $strict = false ] )
      ————————————————
      版权声明:本文为CSDN博主「Taylor007」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
      原文链接:https://blog.csdn.net/qq_35958788/java/article/details/82805588
      来源:咸宁网站建设
      日本高清中文字幕在线观穿线视频-一本色综合网久久-剧情国产AV剧情-欧美首页