zoukankan      html  css  js  c++  java
  • 每天五个函数记忆

    2019年3月20日 星期三

    array_walk — 使用用户自定义函数对数组中的每个元素做回调处理

    array_walk( array&$array,callable$callback[,mixed$userdata=NULL] ) : bool

    将用户自定义函数funcname应用到array数组中的每个单元。

    array_walk()不会受到array内部数组指针的影响。array_walk()会遍历整个数组而不管指针的位置。

    典型情况下callback接受两个参数。array参数的值作为第一个,键名作为第二个。

    Note:

    如果callback需要直接作用于数组中的值,则给callback的第一个参数指定为引用。这样任何对这些单元的改变也将会改变原始数组本身。

    Note:

    参数数量超过预期,传入内置函数 (例如strtolower()),        将抛出警告,所以不适合当做funcname。

    只有array的值才可以被改变,用户不应在回调函数中改变该数组本身的结构。例如增加/删除单元,unset  单元等等。如果array_walk()作用的数组改变了,则此函数的的行为未经定义,且不可预期。

    如果提供了可选参数userdata,将被作为第三个参数传递给  callbackfuncname。

    <?php
    
    $fruits = array("d" => "lemon", "a" => "orange", "b" => "banana", "c" => "apple");
    
    function test_alter(&$value, $key, $prefix)
    
    {
    
        $value = "$prefix: $value";
    
    }
    
    function test_print($value, $key)
    
    {
    
        echo "$key. $value<br />
    ";
    
    }
    
    echo "Before ...:<hr/>";
    
    array_walk($fruits, 'test_print');
    
    echo '<hr/>';
    
    array_walk($fruits, 'test_alter', 'fruit');
    
    echo "... and after:<hr/>";
    
    //改变原始数组本身
    
    array_walk($fruits, 'test_print');

    输出

    array_merge — 合并一个或多个数组

    array_merge( array$array1[, array$...] ) : array

    array_merge() 将一个或多个数组的单元合并起来,一个数组中的值附加在前一个数组的后面。返回作为结果的数组。

    如果输入的数组中有相同的字符串键名,则该键名后面的值将覆盖前一个值。然而,如果数组包含数字键名,后面的值将不会覆盖原来的值,而是附加到后面。

    如果只给了一个数组并且该数组是数字索引的,则键名会以连续方式重新索引。

    <?php
    $array1 = array("color" => "red", 2, 4);
    $array2 = array("a", "b", "color" => "green", "shape" => "trapezoid", 4);
    $result = array_merge($array1, $array2);
    //元素4被覆盖
    var_dump($result);
    输出
    
    array(7) {
      ["color"]=>
      string(5) "green"
      [0]=>
      int(2)
      [1]=>
      int(4)
      [2]=>
      string(1) "a"
      [3]=>
      string(1) "b"
      ["shape"]=>
      string(9) "trapezoid"
      [4]=>
      int(4)
    }
    

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

    count ( mixed $array_or_countable [, int $mode = COUNT_NORMAL ] ) : int
    <?php
    $a[0] = 1;
    $a[1] = 3;
    $a[2] = 5;
    var_dump(count($a));
    
    $b[0]  = 7;
    $b[5]  = 9;
    $b[10] = 11;
    var_dump(count($b));
    
    // 有个例外:如果 array_or_countable 是 NULL 则结果是 0。 
    var_dump(count(null));
    
    var_dump(count(false));
    ?>
    输出
    int(3) int(3) int(0) int(1)

    is_array — 检测变量是否是数组

    is_array ( mixed $var ) : bool
    如果 vararray,则返回 TRUE,否则返回 FALSE
     
     

    substr — 返回字符串的子串

    substr ( string $string , int $start [, int $length ] ) : string
    返回字符串 stringstartlength 参数指定的子字符串。
    <?php
    echo substr('abcdef', 1).'<br/>';     // bcdef
    echo substr('abcdef', 1, 3).'<br/>';  // bcd
    echo substr('abcdef', 0, 4).'<br/>';  // abcd
    echo substr('abcdef', 0, 8).'<br/>';  // abcdef
    echo substr('abcdef', -1, 1).'<br/>'; // f
    
    // 访问字符串中的单个字符
    // 也可以使用中括号
    $string = 'abcdef';
    echo $string[0].'<br/>';                 // a
    echo $string[3].'<br/>';                 // d
    echo $string[strlen($string)-1].'<br/>'; // f
    输出
    bcdef
    bcd
    abcd
    abcdef
    f
    a
    d
    f

     

     

  • 相关阅读:
    Java NIO与IO
    linux命令
    windows的定时任务设置
    《软硬件接口》课程大纲
    使用SSIS对Dynamics CRM 系统进行数据迁移
    数据库设计中的14个技巧
    背景建模或前景检測之PBAS
    Leetcode 树 Populating Next Right Pointers in Each Node II
    QCon大会上推荐阅读的10本书
    cocos2d-x3.0 Slider
  • 原文地址:https://www.cnblogs.com/selectandaction/p/10565585.html
Copyright © 2011-2022 走看看