array function

/**
 * @FunctionName array_values()
 * @Action 返回数组中的所有值,变成索引数组
 **/
    $array  = array( "size"  =>  "XL" ,  "color"  =>  "gold" );
    echo '<pre>';
    print_r ( array_values ( $array ));
    echo '</pre>';
    // Array
    // (
    //     [0] => XL
    //     [1] => gold
    // )
    echo '<br>';

/**
 * @FunctionName array_keys()
 * @Action 返回数组中的所有的键名,键名作为值的索引数组。
 **/
    $array = array(0=>'abc','b'=>2,'3'=>4,'d'=>'f');
    echo '<pre>';
    print_r( array_keys($array));
    echo '</pre>';
    // Array
    // (
    //     [0] => 0
    //     [1] => b
    //     [2] => 3
    //     [3] => d
    // )
    echo '<br>';

    $array = array('blue','grey','green','red','blue');
    echo '<pre>';
    print_r( array_keys($array, 'blue'));
    // Array
    // (
    //     [0] => 0
    //     [1] => 4
    // )
    echo '</pre>';
    echo '<br>';

/**
 * @FunctionName array_flip()
 * @Action 交换数组中的键值,交换后如果有重复的键,前面的会被后面的给覆盖
 **/
    $array = array('blue','grey','green','red','blue');
    echo '<pre>';
    print_r( array_flip($array));
    echo '</pre>';
    // Array
    // (
    //     [blue] => 4
    //     [grey] => 1
    //     [green] => 2
    //     [red] => 3
    // )
    echo '<br>';

/**
 * @FunctionName in_array()
 * @Action 检测数组中是否存在某值
 * @Param1 value
 * @Param2 array
 * @Param3 可选 true/false(默认),true区分类型,没有true是等于。有true是全等
 **/
   $a  = array( '1.10' ,  12.4 ,  1.13 ); 
   var_dump( in_array('12.4', $a));//true
   var_dump( in_array('12.4', $a, true));//false
   echo '<br>';

/**
 * @FunctionName array_search()
 * @Action 在数组中搜索给定的值,如果搜索到就返回键值。
 * @Param1 value
 * @Param2 array
 **/
    $array  = array( 0  =>  'blue' ,  1  =>  'red' ,  2  =>  'green' ,  3  =>  'red' );
    $key  =  array_search ( 'green' ,  $array );  
    var_dump($key);//2
    echo '<br>';

/**
 * @FunctionName array_key_exists()
 * @Action 检查给定的键是否存在数组中,
 * @Param1 key
 * @Param2 array
 * @Return true/false
 **/
    $search_array  = array( 'first'  =>  1 ,  'second'  =>  4 );
    var_dump( array_key_exists('second', $search_array));//true
    echo "<br>";

/**
 * @FunctionName current()
 * @Action 返回数组中的当前单元
 **/
/**
 * @FunctionName next()
 * @Action 返回数组中的下一个单元
 **/
/**
 * @FunctionName prev()
 * @Action 返回数组中的上一个单元
 **/
/**
 * @FunctionName end()
 * @Action 返回数组中的最后的那个单元
 **/
/**
 * @FunctionName reset()
 * @Action 返回数组中的第一个单元
 **/
    $transport  = array( 'foot' ,  'bike' ,  'car' ,  'plane' );
    $mode  =  current ( $transport ); //foot 
    echo $mode;echo '<br>';
    $mode  =  next ( $transport );    //bike
    echo $mode;echo '<br>';
    $mode  =  next ( $transport );     //car
    echo $mode;echo '<br>';
    $mode  =  prev ( $transport );      //bike
    echo $mode;echo '<br>';
    $mode  =  end  ( $transport );      //plane
    echo $mode;echo '<br>';
    $mode  =  reset( $transport );      //foot
    echo $mode;echo '<br>';


/**
 * @FunctionName array_slice()
 * @Action 从数组中取出一段
 * @Param1 array
 * @Param2 number 开始位置
 * @Param3 number 结束位置
 * @Param2 true/false(默认) true表示包含开始位置
 **/

    $input  = array( "a" ,  "b" ,  "c" ,  "d" ,  "e" );
    $output  =  array_slice ( $input ,  2 );      
    echo '<pre>';
    print_r($output);
    echo '</pre>';
    // Array
    // (
    //     [0] => c
    //     [1] => d
    //     [2] => e
    // )

    $output  =  array_slice ( $input , -2 ,  1 );  
    echo '<pre>';
    print_r($output);
    echo '</pre>';
    // Array
    // (
    //     [0] => d
    // )


    $output  =  array_slice ( $input ,  0 ,  3 );   
    echo '<pre>';
    print_r($output);
    echo '</pre>';
    // Array
    // (
    //     [0] => a
    //     [1] => b
    //     [2] => c
    // )

    $output  =  array_slice ( $input ,  2 , -1 ,  true );
    echo '<pre>';
    print_r($output);
    echo '</pre>';
    // Array
    // (
    //     [2] => c
    //     [3] => d
    // )

/**
 * @FunctionName array_splice()
 * @Action 从数组中去掉一部分,并用其他值代替
 * @Param1 key1
 * @Param2 key2
 * @Param3 另一个数组array
 **/
    $a1 = array(0=>"Dog", 1=>"Cat", 2=>"Horse", 3=>"Bird");
    $a2 = array(0=>"Tiger", 1=>"Lion");
    array_splice($a1, 0, 2, $a2);
    print_r($a1);//Array ( [0] => Tiger [1] => Lion [2] => Horse [3] => Bird )
    echo '<br>';

/**
 * @FunctionName array_pad()
 * @Action 用值将数组填充到指定长度
 * @Param1 array
 * @Param2 指定长度
 * @Param3 填充的值
 **/
    $input  = array( 12 ,  10 ,  9 );
    $result =  array_pad ( $input ,  10 ,  'a' );
    print_r($result);//Array ( [0] => 12 [1] => 10 [2] => 9 [3] => a [4] => a [5] => a [6] => a [7] => a [8] => a [9] => a )

/**
 * @FunctionName array_push()
 * @Action 将一个或多个单元压入数组的末尾(入栈)
 * @Param1 array
 * @Param2 value1
 * @Param3 value2
 **/

/**
 * @FunctionName array_pop()
 * @Action 将数组中最后一个单元弹出数组(出栈)
 * @Param1 array
 **/

/**
 * @FunctionName array_unshift()
 * @Action 在数组开头插入一个或多个单元
 * @Param1 array
 * @Param2 value1
 * @Param3 value2
 **/

/**
 * @FunctionName array_shift()
 * @Action 在数组开头的单元移出数组
 * @Param1 array
 **/

/**
 * @FunctionName array_sum()
 * @Action 计算数组中所有求和,如果有字符串,不计算在内
 * @Param1 
 * @Param2 
 **/
    $array = array('a',2,1);
    print_r( array_sum($array));
    echo '<br>';

/**
 * @FunctionName array_merge()
 * @Action 合并一个或多个数组
 * @Param1 合并后会变成索引数组
 * @Param2 
 **/
    $array1  = array( "color"=>"red" , 2 , 4 );
    $array2  = array( "a" ,"b", "color"=>"green", "shape"=>"trapezoid" , 4);
    $result  = array_merge ( $array1 ,  $array2 );
    print_r ( $result );//Array ( [color] => green [0] => 2 [1] => 4 [2] => a [3] => b [shape] => trapezoid [4] => 4 )
    echo '<br>';

/**
 * @FunctionName array_diff()
 * @Action 计算数组的差集
 * @Param1 array1-array2
 * @Param2 
 **/
    $array1  = array( "a"  =>  "green" ,  "red" ,  "blue" ,  "red" );
    $array2  = array( "b"  =>  "green" ,  "yellow" ,  "red" );
    $result  = array_diff ( $array1 ,  $array2 );
    print_r ( $result );//Array ( [1] => blue )
    echo '<br>';
/**
 * @FunctionName array_diff_assoc()
 * @Action 带索引计算数组的差集
 **/
    $array1  = array( "a"  =>  "green" ,  "b"  =>  "brown" ,  "c"  =>  "blue" ,  "red" );
    $array2  = array( "a"  =>  "green" ,  "yellow" ,  "red" );
    $result  = array_diff_assoc ( $array1 ,  $array2 );
    print_r ( $result );// Array ( [b] => brown [c] => blue [0] => red )
    echo '<br>';

/**
 * @FunctionName array_intersect()
 * @Action 计算数组的交集
 **/
    $array1  = array( "a"  =>  "green" ,  "red" ,  "blue" );
    $array2  = array( "b"  =>  "green" ,  "yellow" ,  "red" );
    $result  = array_intersect ( $array1 ,  $array2 );
    print_r ( $result );//Array ( [a] => green [0] => red ) 
    echo '<br>';

/**
 * @FunctionName array_intersect_assoc()
 * @Action 带索引计算数组的交集
 **/
    $array1  = array( "a"  =>  "green" ,  "red" ,  "blue" );
    $array2  = array( "a"  =>  "green" ,  "yellow" ,  "red" );
    $result  = array_intersect_assoc ( $array1 ,  $array2 );
    print_r ( $result );//Array ( [a] => green ) 
    echo '<br>';
/**
 * @FunctionName array_unique()
 * @Action 移除数组中重复的值,不区分索引值
 **/
    $input  = array( "a"  =>  "green" ,  "red" ,  "b"  =>  "green" ,  "blue" ,  "red" );
    $result  =  array_unique ( $input );
    print_r ( $result );//Array ( [a] => green [0] => red [1] => blue )
    echo '<br>';
/**
 * @FunctionName shuffle()
 * @Action 打乱数组
 **/
    $numbers  =  range ( 1 ,  20 );
    shuffle ( $numbers );
    print_r($numbers);
    echo '<br>';

/**
 * @FunctionName array_rand()
 * @Action 从数组中随机取出一个或多个单元
 * @Return 索引所组成的数组
 **/
    $input  = array( "Neo" ,  "Morpheus" ,  "Trinity" ,  "Cypher" ,  "Tank" );
    $rand_keys  =  array_rand ( $input ,  2 );
    print_r($rand_keys);//Array ( [0] => 1 [1] => 2 ) 
    echo '<br>';

/**
 * @FunctionName compact()
 * @Action 建立一个数组,包括变量名和它们的值
 * @Param1 变量名
 **/
    $firstname = "Peter";
    $lastname = "Griffin";
    $age = "38";
    $result = compact("firstname", "lastname", "age");
    print_r($result);//Array ( [firstname] => Peter [lastname] => Griffin [age] => 38 )
    echo '<br>';

/**
 * @FunctionName substr_count()
 * @Action 计算字符串出现的次数
 * @Param1 
 * @Param2 
 **/
    $str = "This is nice";
    echo substr_count($str,"is");//2
    echo '<br>';

/**
 * @FunctionName sort()
 * @Action 不保持索引关系,按照大写-》小写-》数字  排序
 * @Param1 array
 **/
    $array = array('a','A',2,1,0,'0');
    sort($array);
    print_r($array);//Array ( [0] => A [1] => a ) 
    echo '<br>';

/**
 * @FunctionName rsort()
 * @Action 对数组逆序排序
 **/

/**
 * @FunctionName asort()
 * @Action 对数组进行排序,保存索引关系
 **/

/**
 * @FunctionName arsort()
 * @Action 对数组进行逆序排序,保持索引关系
 **/

/**
 * @FunctionName ksort()
 * @Action 对数组进行按照键名排序
 **/

/**
 * @FunctionName krsort()
 * @Action 对数组进行按照键名逆序排序
 **/

/**
 * @FunctionName natsort()
 * @Action 用'自然算法'对数组排序
 **/
    $array1  = array( "img12.png" ,  "img10.png" ,  "img2.png" ,  "img1.png" );
    natsort ( $array1 );
    print_r($array1);
    //Array ( [3] => img1.png [2] => img2.png [1] => img10.png [0] => img12.png ) 
    echo '<br>';
/**
 * @FunctionName natcasesort()
 * @Action '自然算法',对数组排序,不区分大小写
 **/
    $array1 = array( 'IMG0.png' ,  'img12.png' ,  'img10.png' ,  'img2.png' ,  'img1.png' ,  'IMG3.png' );
    natcasesort ( $array1 );
    print_r($array1);
    //Array ( [0] => IMG0.png [4] => img1.png [3] => img2.png [5] => IMG3.png [2] => img10.png [1] => img12.png ) 
    echo '<br>';

Guess you like

Origin http://43.154.161.224:23101/article/api/json?id=324772245&siteId=291194637