• 代码日记


    <?php
    //设置响应头格式
    header("Content-type:text/html;Charset=utf-8");
    //数组的指针
    // key
    // 语法是:key(数组名)
    // 作用:获取该数组当前元素的键!
    $arr = array (
    'name'=>'kent',
    'age' =>'22';
    'sex' =>'man';
    );
    echo "<pre>";
    var_dump(key($arr));

    // current
    // 语法是:current(数组名)
    // 作用:获取该数组当前元素的值!
    var_dump(current($arr));

    // next
    // 语法是:next(数组名)
    // 作用:将数组的指针下移一位
    next($arr);

    //获取$arr当前元素的键!
    var_dump(key($arr));

    //获取$arr当前元素的值!
    var_dump(current($arr));

    //利用上面的三个函数实现数组的遍历
    //用for循环实现数组的遍历
    for($i=1,$sum=count($arr);$i<=$sum;$i++){
    //获取$arr当前元素的键!
    $key= key($arr);
    //获取$arr当前元素的值!
    $value= current($arr);
    var_dump($key,$value);
    next($arr);
    } //但是最后会出现一个空的值

    // reset
    // 语法是:reset(数组名)
    // 作用:重置数组的指针(将数组的指针重新指向第一个元素)
    for($i=1,$sum=count($arr),reset($arr);$i<=$sum;$i++){
    //获取$arr当前元素的键!
    $key= key($arr);
    //获取$arr当前元素的值!
    $value= current($arr);
    var_dump($key,$value);
    next($arr);
    } //指针重置之后就不会出现上一个循环的问题
    // prev
    // 向上移动数组指针,previous(先前的)

    // end
    // reset是将数组的指针移动到第一个元素,那么end也是重置指针,不过是重置到最后一个元素!

    // 注意:
    // 如果指针的位置已经非法,就不能在做相对移动了(向上或向下),只能做绝对移动,也就是重置(reset或end)

    // while+each+list遍历
    // each
    // 还有一个功能特别强大的函数,就是each函数
    // 语法:
    // each(函数名);

    // 作用:
    // 同时兼备了key、current、next函数的功能,既可以获取到当前元素的值,也能获取到当前元素的键!

    // list
    // 也是一个系统函数,它可以利用一个索引数组,一次性的为多个变量赋值!
    reset($arr);
    while(list($key,$value) = each ($arr)){
    //遍历相关的操作
    var_dump($key,$value);
    }

    //数组的常用函数
    // count
    // 计算并返回数组中的元素的个数或者对象中的属性的个数!另外,count还有第二个参数,默认为0或false,如果是1或true,则支持递归统计:
    $arr = array (
    'name'=>'kent',
    'age' =>'22';
    'sex' =>'man';
    );
    var_dump(count($arr));

    // range 。建立一个包含指定范围单元的数组
    // 使用range来定义数组,有三个参数:
    // 1,开始字符或数字
    // 2,结束的字符或数字
    // 3,步伐:一次跳转几个字符或数字 不添加默认为一个
    $arr1 = range(1,20);
    $arr2 = range(1,20,2);
    $arr3 = range('a','z');

    // array_merge 将一个或多个数组的单元合并起来,一个数组中的值附加在前一个数组的后面。返回作为结果的数组。
    $arr4 = array_merge($arr1,$arr3);
    // 注意: 如果输入的数组中有相同的字符串键名,则该键名后面的值将覆盖前一个值。然而,如果数组包含数字键名,后面的值将不会覆盖原来的值,而是附加到后面。


    // array_rand
    // 这里的rand是随机的意思,作用是随机抽取数组内的几个元素的键!并返回一个索引数组!
    // 需要两个参数:
    // 第一个是一个数组名
    // 第二个抽取的个数 特殊的情况:如果省略掉第二个参数,默认为1
    array_rand($arr3,3);


    //shuffle 将数组打乱。作用是打乱一个数组,而且是直接在原数组上进行打乱!而且会重新生成索引下标!
    shuffle($arr3);


    // 制作验证码
    // 算法:
    // 1,拼凑出一个数组,里面有大小写英文字母和数字(range和array_merge)
    // 2,打乱该数组(shuffle)
    // 3,利用array_rand随机获取若干个该数组的下标(键)
    // 4,依次根据数组的键获得数组的值,拼凑到一起(foreach遍历)
    $arr =array_merge(range('a', 'z'),range('0', '9'),range('A', 'Z'));
    shuffle($arr);
    $rand_keys = array_rand($arr,4);
    $str = ' ';
    foreach ($rand_keys as $value) {
    $str .= $arr[$value];
    }
    echo $str;


    //数组的常用函数
    // max和min
    // 还可以获得数组内的最大值和最小值!
    $arr0=array(105,25,34,36);
    echo max($arr0);
    echo min($arr0);


    // array_keys
    // 获取所有元素的键,返回一个索引数组!
    $keys = array_keys($arr0);
    var_dump($keys);

    // array_values
    // 获取所有元素的值,返回一个索引数组!
    $values = array_values($arr0);
    var_dump($values);

  • 相关阅读:
    tp5最强分页 自定义model,控制器引用。只显示一页
    tp5分页,一看就懂,简单明了(附带额外参数)
    PHP 验证5-20位数字加字母的正则(数字和字母缺一不可)!!!
    表格样式
    tp5中很牛皮的一句sql语句,三个条件(两个不确定条件,一个硬性条件)
    centos6.8下搭建git和gitlab版本库
    解决 nginx: [alert] kill(1022, 1) failed (3: No such process)
    Zabbix利用msmtp+mutt发送邮件报警
    nginx基本配置与参数说明
    Linux添加/删除用户和用户组
  • 原文地址:https://www.cnblogs.com/ccw869476711/p/6093348.html
Copyright © 2020-2023  润新知