• PHP 数组


    代码如下:

    <?php
    // 1. 普通的一维数组
    #  array 是一个函数, 它的参数就是数组的初始值.
    $arr = array(1,2,3,4,5,6);
    # 2. 输出数组, 需要使用print_r
    print_r($arr);
    // 3. 使用数组内的元素
    $arr[0] = 100;
    echo "arr[0]=" . $arr[0] . "<br/>";
    // 4. 在双引号的字符串中使用数组元素的时候, 需要将
    //    数组名和[]在内使用`{}`包起来.
    echo "arr[0]= {$arr[0]} <br/>";
    // 5. 计算数组的元素个数
    echo "数组的元素个数=" . count( $arr) . "<br/>";
    $arr[100] = '哈哈哈';
    print_r($arr);
    
    // 2. 字典型数组
    // 使用`=>` 来连接键值对
    $dict = array(100,200,'姓名'=>'小明','小红');
    print_r($dict);
    
    // 3. 二维数组
    $row1 = [1,2,3,4,5];
    $row2 = [6,7,8,9,10];
    $arr2 = [$row1, $row2];
    $arr3 = [[1,2,3,4,5] , [6,7,8,9,10]];
    echo $arr3[1][0].'<br/>';
    $arr4 = array( array(1,2,3,4,5) ,
               array(6,7,8,9,10) );
    // 4. 字典型二维数组
    $dict2 = [
          "身高"=>[1.8,1.6,1.9] ,
          "姓名"=>['小明',"小红","大明"]
        ];
    echo $dict2['身高'][1];// 输出1.6
    
    // 5. 给数组中不存在的键赋值时, 会自动添加这个键
    $arr5 = [];
    $arr5[0]=100;
    $arr5['name'] = "小明";
    print_r($arr5);
    
    // 6. 如果获取数组中不存在的键, 就会出错
    //    可以使用isset函数来检测数组的键是否存在.
    $arr6 = [];
    if( false == isset( $arr6['get'] )){
    echo '键get不存在<br/>';
    }else{
    echo $arr6['get'];
    }
    
    // 运算符
    // 1. 错误控制运算符:`@`
    //  在函数调用语句前,加上`@`之后, 这个函数内部如果错误
    //  就会被忽略掉.
    @printf("%d" , $arr6['set']);// 键不存在,会产生错误
    echo "产生错误的语句的下一条语句<br/>";
    

    文件11.php

    <?php
    $arr = array(1,2,3,4,5);
    print_r($arr);//打印数组
    echo "<br/>";
    
    $arr1= array('helll','llow');
    print_r($arr1);
    echo "<br/>";
    echo $arr1[1];//访问单个元素
    echo "<br/>";
    $arr[100] = 100;
    echo "<br/>";
    //这里的[100]不是下标
    print_r($arr);
    echo "<br/>";
    
    
    //可以使用count()函数获取数组的元素个数
    echo "元素个数=".count($arr);
    echo "<br/>";
    
    遍历数组
        $arr=[1,2,3,4,'姓名'=>'小明','aa'=>'bbb'];
        // foreach格式:
        // 数组名 as 从数组中提取到的键的名字 => 键对应的值
        echo "<ul>
    ";
        foreach ( $arr as $key => $value){
            echo "	<li>key=$key value=$value</li>
    ";
        }
        echo "</ul>
    ";
    
    range() 函数创建一个包含指定范围的元素的数组。
    //语法:range(low,high,step)
    //参数: low	必需。规定数组的最低值。
            high	必需。规定数组的最高值。
            step	可选。规定元素之间的步进制。默认是 1。
    返回值:	返回包含从 low 到 high 的元素的数组。
    

    关于数组的函数

    <?php
    //array()   创建数组
    $a = array(
        'A' => 'N',
        'B' => 'd'
    );
    //array_change_key_case() 函数将数组的所有的键都转换为大写字母或小写字母。
    //语法:array_change_key_case(array,case);
    //参数:array	必需。规定要使用的数组。
    //case	可选。可能的值:
        //CASE_LOWER - 默认值。将数组的键转换为小写字母。
        //CASE_UPPER - 将数组的键转换为大写字母。
    print_r(array_change_key_case($a,CASE_LOWER));
    echo "<br/>";
    
    //array_chunk() 把数组分割为带有两个元素的数组
    //语法:array_chunk(array,size,preserve_keys);
    //参数:array	必需。规定要使用的数组。
    //size	必需。一个整数,规定每个新数组块包含多少个元素。
    //preserve_key	可选。可能的值:
    //true - 保留原始数组中的键名。
    //false - 默认。每个新数组块使用从零开始的索引。
    $cars=array("Volvo","BMW","Toyota","Honda","Mercedes","Opel");
    print_r(array_chunk($cars,2));
    echo "<br/>";
    
    //array_column() 函数  array_column() 返回输入数组中某个单一列的值
    //语法:array_column(array,column_key,index_key);
    //array	必需。指定要使用的多维数组(记录集)。
    //column_key	必需。需要返回值的列。可以是索引数组的列的整数索引,或者是关联数组的列的字符串键值。该参数也可以是 NULL,此时将返回整个数组(配合index_key 参数来重置数组键的时候,非常管用)。
    //index_key	可选。作为返回数组的索引/键的列
    // 可能从数据库中返回数组
    $a = array(
        array(
            'id' => 5698,
            'first_name' => 'Peter',
            'last_name' => 'Griffin',
        ),
        array(
            'id' => 4767,
            'first_name' => 'Ben',
            'last_name' => 'Smith',
        ),
        array(
            'id' => 3809,
            'first_name' => 'Joe',
            'last_name' => 'Doe',
        )
    );
    
    $last_names = array_column($a, 'last_name');
    print_r($last_names);
    echo "<br/>";
    
    //array_combine()  通过合并两个数组来创建一个新数组,其中的一个数组元素为键名,另一个数组元素为键值
    //注释:键名数组和键值数组的元素个数必须相同!
    //语法:array_combine(keys,values);
    //参数:keys	必需。规定数组的键名。
    //      values	必需。规定数组的键值
    $fname=array("Peter","Ben","Joe");
    $age=array("35","37","43");
    $c=array_combine($fname,$age);
    print_r($c);
    echo "<br/>";
    
    //array_count_values() 函数用于统计数组中所有值出现的次数
    //语法:array_count_values(array)
    //必需。规定需要统计数组中所有值出现次数的数组
    $aa=array("A","Cat","Dog","A","Dog");
    print_r(array_count_values($aa));
    echo "<br/>";
    
    //array_keys()   返回包含数组中所有键名的一个新数组
    //语法:array_keys(array,value,strict)
    //参数:array	必需。规定数组。
    //value	可选。您可以指定键值,然后只有该键值对应的键名会被返回。
    //strict	可选。与 value 参数一起使用。可能的值:
    //true - 返回带有指定键值的键名。依赖类型,数字 5 与字符串 "5" 是不同的。
    //false - 默认值。不依赖类型,数字 5 与字符串 "5" 是相同的。
    $aaa=array("Volvo"=>"XC90","BMW"=>"X5","Toyota"=>"Highlander");
    print_r(array_keys($aaa));
    echo "<br/>";
    
    //array_key_exists()  检查某个数组中是否存在指定的键名,如果键名存在则返回 true,如果键名不存在则返回 false
    //语法:array_key_exists(key,array)
    //参数:key	必需。规定键名。
    //array	必需。规定数组。
    $vv=array("Volvo"=>"XC90","BMW"=>"X5");
    if (array_key_exists("Volv",$vv))
    {
        echo "Key exists!";
    }
    else
    {
        echo "Key does not exist!";
    }
    echo "<br/>";
    
    //array_pop()  删除数组中的最后一个元素
    //语法:删除数组中的最后一个元素
    //返回值:	返回数组的最后一个值。如果数组是空的,或者不是一个数组,将返回 NULL。
    $b = array(1,2,3,4);
    print_r(array_pop($b));
    echo "<br/>";
    
    //array_push()  向数组尾部插入一个或多个元素
    //语法:array_push(array,value1,value2...)
    //返回值:返回新数组元素个数
    print_r(array_push($b,"blue","hello"));
    echo "<br/>";
    
    //array_rand()   返回数组中一个或多个随机键返回数组中的一个随机键名,或者如果指定函数返回键名不只一个,则返回一个包含随机键名的数组
    //语法:array_rand(array,number)
    //参数:  array	必需。规定数组。   number	可选。规定返回多少个随机的元素。
    $x=array("red","green","blue","yellow","brown");
    $random_keys=array_rand($a,3);
    echo $x[$random_keys[0]]."<br>";
    echo $x[$random_keys[1]]."<br>";
    echo $x[$random_keys[2]];
    echo "<br/>";
    
    
    //array_replace() 函数使用后面数组的值替换第一个数组的值。
    //语句:array_replace(array1,array2,array3...)
    //返回值:	返回被替换的数组,如果发生错误则返回 NULL。
    $b1=array("red","green");
    $b2=array("blue","yellow");
    print_r(array_replace($b1,$b2));
    echo "<br/>";
    
    
    //array_reverse() 函数返回翻转顺序的数组
    //语法:array_reverse(array,preserve)array	必需。规定数组。
    //preserve	可选。规定是否保留原始数组的键名。
    //如果设置为 TRUE 会保留数字的键。 非数字的键则不受这个设置的影响,总是会被保留。
    //可能的值:
    //true
    //false
    $zhuan = array("o","l","l","e","h");
    print_r(array_reverse($zhuan));
    echo "<br/>";
    
    
    //array_slice()  返回数组中的选定部分
    //语法:array_slice(array,start,length,preserve)
    //参数:array	必需。规定数组。
    //start	必需。数值。规定取出元素的开始位置。 0 = 第一个元素。 如果该值设置为正数,则从前往后开始取。如果该值设置为负数,则从后向前取 start 绝对值。 -2 意味着从数组的倒数第二个元素开始。
    //length	可选。数值。规定被返回数组的长度。 如果该值设置为整数,则返回该数量的元素。如果该值设置为负数,则函数将在举例数组末端这么远的地方终止取出。如果该值未设置,则返回从 start 参数设置的位置开始直到数组末端的所有元素。
    //preserve	可选。规定函数是保留键名还是重置键名。可能的值:
    //true - 保留键名
    //false - 默认。重置键名
    $z=array("red","green","blue","yellow","brown");
    print_r(array_slice($z,2));
    echo "<br/>";
    
    //array_splice() 函数从数组中移除选定的元素,并用新元素取代它。函数也将返回被移除元素的数组
    //语法:array_splice(array,start,length,array)
    //参数:array	必需。规定数组。
    //start	必需。数值。规定删除元素的开始位置。 0 = 第一个元素。 如果该值设置为正数,则从数组中该值指定的偏移量开始移除。如果该值设置为负数,则从数组末端倒数该值指定的偏移量开始移除。 -2 意味着从数组的倒数第二个元素开始。
    //length	可选。数值。规定被移除的元素个数,也是被返回数组的长度。 如果该值设置为正数,则移除该数量的元素。如果该值设置为负数,则移除从 start 到数组末端倒数 length 为止中间所有的元素。如果该值未设置,则移除从 start 参数设置的位置开始直到数组末端的所有元素。
    //array	可选。规定带有要插入原始数组中元素的数组。如果只有一个元素,则可以设置为字符串,不需要设置为数组。
    $q1=array("a"=>"red","b"=>"green","c"=>"blue","d"=>"yellow");
    $q2=array("a"=>"purple","b"=>"orange");
    array_splice($q1,0,2,$q2);
    print_r($q1);
    echo "<br/>";
    
    
    //array_values()返回包含数组中所有的值的数组
    //语法:array_values(array)
    //返回值:	返回包含数组中所有的值的数组。
    $e=array("Name"=>"Peter","Age"=>"41","Country"=>"USA");
    print_r(array_values($e));
    echo "<br/>";
    
    
  • 相关阅读:
    OpenDiscussion_DataDrivenDesign
    WPF Auto LogOff
    Visual Studio模板
    我的TDD实践---UnitTest单元测试
    我的TDD实践---TDD概念篇
    我的TDD实践---SVN架设篇
    我的TDD实践---CI持续集成
    CSharpThinking---C#版本总结(附加三)
    CsharpThinking---代码契约CodeContract(八)
    c++文件偏移
  • 原文地址:https://www.cnblogs.com/Lay0us/p/12121518.html
Copyright © 2020-2023  润新知