• 20180821 PHP环境下 数组 函数


    数组基础

    数组长度 count($attr);

    For($i = 0;$i<count($attr);$i++)

    Foreach(){ }

    数组基础

    php中,数组的下标可以是整数,或字符串。

    php中,数组的元素顺序不是由下标决定,而是由其“加入”的顺序决定。

    定义:
    $arr1 = array(元素1,元素2,。。。。。 );

    array(1,  5,  1.1,  “abc”,  true,  false); //可以存储任何数据,此时为“默认下标”,

    array(2=>1,  5=>5,  3=>1.1,  7=>“abc”,  0=>true);//下标可以任意设定(无需顺序,无需连续)

    array(2=>1,  5,  1=>1.1,  “abc”,  0=>true)//可以加下标,也可以不加(默认下标),下标分别是:2,3,1,4,0

    //默认下标规则:前面已经用过的最大数字下标+1

    array(2=>1,  ‘dd’=>5,  1=>1.1,  “abc”,  0=>true)//混合下标,同样遵循默认下标规则

    array(-2=>1,  ‘dd’=>5,  1.1,  “abc”,  true); //负数下标不算在整数下标中,而只当作字符下标

    //则最好3项的下标是:0, 1, 2

    array(2.7=>1,  ‘dd’=>5,  1=>1.1,  “abc”,  0=>true)//浮点数下标为自动转换为整数,且直接抹掉小数

    array(“2.7” =>1,  ‘dd’=>5,  “11”=>1.1,  “abc”,  true)//纯数字字符串下标,当作数字看待,

    //则此时下标为:2, ‘dd’, 11, 12, 13

    array(2=>1,  ‘dd’=>5,  true=>1.1,  “abc”,  false=>true)//布尔值当下标,则true1false0

    array(2=>1,  ‘dd’=>5,  2=>1.1,  “abc”,  true)//如果下标跟前面的重复,则单纯覆盖前面同名下标的值

    //此时相当于为:array(2=>1.1,  ‘dd’=>5,  “abc”,  true)

    其他形式;

    $arr1[] = 1;

    $arr1[] = 5;

    $arr1[] = 1.1; //直接在变量后面使用[],就成为数组,并依次赋值。

    。。。。

    $arr2[‘aa’] = 1;

    $arr2[‘bbbcc’] = 5;

    $arrr2[5] = 1.1;

    。。。。。。。。

    这种形式写的下标,其实跟使用array语法结构几乎一样

    取值:通过下标。

    赋值(同定义):

    数组遍历

    遍历基本语法

    foreach( $arr   as   [ $key  => ] $value ) //$key可以称为键变量,$value可以称为值变量。

    {

    //这里就可以对$key  $value 进行所有可能的操作——因为他们就是一个变量

    //$key 代表每次取得元素的下标,可能是数字,也可以能是字符串

    //$value 代表每次取得元素的值,可能是各种类型。

    //此循环结构会从数组的第一项一直遍历循环到最后一项,然后结束。

    }

    函数

    基本使用

    函数定义形式

    FUNCTION  RETURN  

    function  函数名 (形参1,形参2.... ){

    //函数体(代码块)

    }

    函数参数问题

    一个函数,

    在定义时,有形式参数(形参);

    1,形参一定是一个变量名!

    2,该变量名只能是在该函数中有效的变量名;

    3,而且只在该函数调用并执行时有效,函数结束,通常这些变量也就“销毁”。

    在调用时,有实际参数(实参)。

    实参就是一个“实际数据”,

    该数据可以是一个“直接数据”(比如5”abc”),也可以是一个变量中存储的数据。

    实参的作用是将其数据“赋值给”形参变量。

    实参跟形参之间通常应该有个一一对应”关系:

    定义形式:   function  函数名(形参1,形参2...... ){ 。。。。}

    调用形式:    函数名(实参1,实参2.....

    在系统中,var_dump()这个函数也有同样的使用效果:

    var_dump($v1);

    var_dump($v1, $v2, $v3); //也可以

    这种应用的实现,是依赖与系统中的3个系统函数来达到的:

    func_get_args(); //获得一个函数所接收到的所有实参数据,并结果是一个数组

    func_get_arg(n); //获得一个函数所接收到的第n歌实参数据(n0开始)

    func_num_args(); //获得一个函数所接收到的所有实参数据的个数

    实际应用中,常常是需要根据“用户给定”的数据,来决定调用哪个函数,比如:

    function  jpg(){处理jpg}

    function  png(){处理png}

    function  gif(){处理gif}

    $fileName = get_fileName(){获取用户上传的图片名};

    $houzhui = get_houzhui($fileName);

    $houzhui();

    call_user_func_array(匿名函数,数组);

    有关函数的系统函数:

    function_exists():判断某个函数是否被定义过,返回布尔值

    if(  function_exists(“ func1 “)  == false ){

    function  func1(){。。。。。。}//定义函数

    }

    func_get_arg(n):获得一个函数的第n个实参值(n从0开始)

    func_get_args():获得一个函数的所有实参,结果是一个数组

    func_num_args():获得一个函数的所有实参的个数。

  • 相关阅读:
    Struts2 拦截器
    Struts2 常用标签
    Struts2 OGNL表达式、ValueStack
    Struts2 在Action中操作数据
    Struts2 动态方法调用
    Struts2 常量配置
    Struts2 struts.xml配置
    Struts2 Action的3种创建方式
    Struts2 运行流程
    JUnit
  • 原文地址:https://www.cnblogs.com/sp1234/p/9514340.html
Copyright © 2020-2023  润新知