• PHP:第四章——PHP数组添加,删除,插入,分割,合并,及运算符


    <pre>
    <?php
    header("Content-Type:text/html;charset=utf-8");
    /*知识点一:赋值运算符 =
    代码示例:数组是按值赋值的
    数组按引用赋值也需要使用 & 符号。*/
    //例:
    /*$a1 = array(2, 4, 6);
    $a2 = $a1;
    $a2[1] = 5;
    var_dump($a1);  //输出$a1的值并没有变化,$a2的修改不影响 $a1
    */
    
    /*知识点二:数组联合*/
    /*
    1)+号运算符
    $a + $b;  数组 $b中元素被附加到$a中,键名与$a冲突的元素被忽略。
    */
    //例:
    /*$a1 = array(2);
    $a2 = array(4,6);
    $b = $a1 + $a2;
    var_dump($b);//输出 2,6两个元素*/
    
    /*2)array_merge函数
    函数原形:array array_merge ( array $array1 [, array $... ] )
    功能描述: 
    将一个或多个数组的单元合并起来,一个数组中的值附加在前一个数组的后面。
    返回作为结果的数组。如果输入的数组中有相同的字符串键名,则该键名后面的值将覆盖前一个值。
    然而,如果数组包含数字键名,后面的值将不会覆盖原来的值,而是附加到后面。
    如果只给了一个数组并且该数组是数字索引的,则键名会以连续方式重新索引。   
    */
    //代码示例一:关联型数组,后面一个的值会覆盖前面一个的值
    /*$a  = array('a'=>2, 'b'=>3);
    $b = array('a'=>6);
    $c = array_merge($a, $b);
    var_export($c); */
    
    //如果是索引型则不覆盖,而是连续重新索引
    /*$a = array(2, 'b'=>3);
    $b = array(6,9);
    $c = array_merge($a, $b);
    var_export($c); */
    
    //知识点三:在同一个数组中,如果有多个同名的键,则最后一个会覆盖前面的。
    /*$a  = array('a'=>2, 'b'=>3, 'a'=>6, 'c'=>9, 'a'=>5);
    var_export($a); */
    //输出:
    /*array (
      'a' => 5,
      'b' => 3,
      'c' => 9,
    ) */
    
    
    //知识点四:数组比较  
    //1)== 等价,数组$a与$b包含相同的元素既满足条件
    //$a = array(2,4,1);
    //$b = array(2,4,true);
    //var_dump($a == $b);    
    //结果 true 如果是恒等则为false
    //2)=== 恒等,数组 $a与$b包含相同元素切类型,顺序都相同
    //3)类似的还有 不等价 !=  、 <>   ,不恒等 !==  与对应的等价恒等相反。
    
    
    /*知识点五:数组添加array_push
    原形:int array_push ( array &$array , mixed $var [, mixed $... ] )
    功能:将一个或多个单元压入数组的末尾(入栈)         
    array_push() 将 array 当成一个栈,并将传入的变量压入 array 的末尾。
    array 的长度将根据入栈变量的数目增加。和如下效果相同: 
    */
    //例;
    /*$a = array('d' => '中','美') ;
    echo array_push($a,'日','韩');  //结果:4
    print_r($a); */
    //结果:Array ( [d] => 中 [0] => 美 [1] =>日 [2] =>韩 )   
    
    /*知识点六:array_pop — 将数组最后一个单元弹出(出栈)
    原形:mixed array_pop ( array &$array )
    功能:弹出并返回 array 数组的最后一个单元,并将数组 array 的长度减一。
    如果 array 为空(或者不是数组)将返回 NULL。 此外如果被调用不是一个数组则会产生一个 Warning。 
    代码示例:*/
    /*$a=  array('中','美','日','韩');
    $b = array_pop($a);   
    echo $b;//输出:韩*/
    //必背内容:返回的是最后一个元素 韩,省下的是 Array ( [0] => 中 [1] => 美 [2] => 日 ) 
    
    /*知识点七:array_shift — 将数组开头的单元移出数组 
    原形:mixed array_shift ( array &$array )
    功能:将 array 的第一个单元移出并作为结果返回,将 array 的长度减一并将所有其它单元向前移动一位。
    */
    /*$a=  array('d'=>'中','美','x'=>'日','韩');
    $b = array_shift($a);   
    echo $b;//输出:中
    print_r($a);*/
    //剩余:Array ( [0] =>美 [x] =>日 [1] => 韩 ) 
    
    /*知识点八: array_unshift — 在数组开头插入一个或多个单元 
    原形:int array_unshift ( array &$array , mixed $var [, mixed $... ] )
    功能:将传入的单元插入到 array 数组的开头。注意单元是作为整体被插入的,因此传入单元将保持同样的顺序。
    所有的数值键名将修改为从零开始重新计数,所有的文字键名保持不变。*/
    /*$a=  array('d'=>'中','美','x'=>'日','韩');
    echo array_unshift($a,"PHP");   //返回:5
    print_r($a);    //结果:Array ( [0] => PHP [d] => 中 [1] =>美 [x] =>日 [2] =>韩 ) 
    */
    
    /*
    知识点九:array_slice
    函数原形:array array_slice( array $array, int $offset [,int $length = NULL [,bool $preserve_keys=false ]])
    功能:返回根据 offset 和 length 参数所指定的 array 数组中的一段序列。
    */
    /*参数说明:
    array        输入的数组。
        
    offset         如果 offset 非负,则序列将从 array 中的此偏移量开始。如果 offset 为负,则序列将从 array 中距离末端这么远的地方开始。
    
    length       如果给出了 length 并且为正,则序列中将具有这么多的单元。如果给出了 length 并且为负,则序列将终止在距离数组末端这么远的地方。如果省略,则序列将从 offset 开始一直到 array 的末端。
    
    preserve_keys      注意 array_slice() 默认会重新排序并重置数组的数字索引。你可以通过将 preserve_keys 设为 TRUE 来改变此行为。
    */
    /*$a = array(2,4,6);
    $b = array_slice($a,1,2,true);        //true能保留原来索引键值,对关联型无效。
    var_dump($b);*/
    //输出:
    /*array (size=2)
      1 => int 4
      2 => int 6*/
    
    /*知识点十一: array_chunk — 将一个数组分割成多个
    函数原形:array array_chunk ( array $input , int $size [, bool $preserve_keys = false ] )
    将一个数组分割成多个数组,其中每个数组的单元数目由 size 决定。最后一个数组的单元数目可能会少于 size 个。 
    返回值:得到的数组是一个多维数组中的单元,其索引从零开始,每一维包含了 size 个元素。 
    参数:
    input             需要操作的数组 
    size             每个数组的单元数目 
    preserve_keys     设为 TRUE,可以使 PHP 保留输入数组中原来的键名。
    如果你指定了 FALSE,那每个结果数组将用从零开始的新数字索引。默认值是 FALSE。 
    */
    //例:
    $input_array = array('a', 'b', 'c', 'd', 'e');
    print_r(array_chunk($input_array, 2));
    print_r(array_chunk($input_array, 2, true));    //保留原来的键
    ?>
  • 相关阅读:
    关于Android的nodpi,xhdpi,hdpi,mdpi,ldpi
    在android上监听网络状态的变更
    mysql:insert on duplicate key 版本导致问题
    android中TextView中文字体粗体的方法
    10.2香港一人一日购物游流水账
    结婚的意义
    关于摄影的若干个命题
    人生若彷如倒序。。。本杰明·巴顿奇事 The Curious Case of Benjamin Button
    阳光十六法则
    花街人真多,多我一个就溢出了
  • 原文地址:https://www.cnblogs.com/yiweiyihang/p/7147542.html
Copyright © 2020-2023  润新知