• 函数和数组


    一、函数
    函数三要素:1.函数名2.参数列表3.函数体
    1.简单函数

    function Show()
    {
        echo "hello";
    }
    Show();

    运行结果就是在页面显示hello

    2.有返回值的函数

    function Show()
    {
       return "hello";  //返回值	
    }
    echo Show();

    运行结果就是返回值return中的值

    3.有参数的函数

    function Show($a)
    {
    echo $a;
    }
    Show("你好");
    

    运行结果不是形参,而是实参中的:你好

    4.可变参数的函数

    function Sum()
    {
        $attr=func_get_args();   //获取get 用户传的 参数args: func_get_args();
        $n=func_num_args();    //获取数量func_num_args();
    
       //遍历参数
        $Sum=0;
       for($i=0;$i<$n;$i++)
        {
           $Sum +=$attr[$i];
    
        }
       echo $Sum;
    }
    Sum(1);   //数值可以换,这样相应的也会变数值

     运行结果就是数值中的值

    二、数组
    注意:1.可以存储任意类型数据;
    2.不是在内存中开辟一块连续的区域存储(在内存中是不连续的)

    $attr=array();   //定义空数组
    $attr1=[1,2];   //定义数组
    $attr2[0]="hello"; //赋值定义数组:0索引赋值“hello” 

    A.数组类型:
    1.索引数组

    $attr = array(1,2,3,4);
    echo $attr[2];   //输出索引号所指的值
    

    2.关联数组

    $attr1=array("one"=>1,"two"=>2,"3"=>3);   //k是one字符串,value是1值,=> 符合
    echo $attr1["one"];  //取值

    echo $attr1[3];  //没有问题的,因为可以自动转换类型,所以不会出错
    

    B.遍历数组
    1.for循环:只能遍历“索引数组”
    //count() 数组长度


    2.foreach 遍历:关联数组和索引数组都可以遍历

    关联数组:
    $attr1=array("one"=>1,"two"=>2,"3"=>3); foreach($attr1 as $a) { echo $a."<br>"; }

    索引数组:
    $attr = array(1,2,3,4); foreach($attr as $a) { echo $a."<br>"; }

    $attr1=array("one"=>1,"two"=>2,"3"=>3); 
    foreach($attr1 as $k=>$a)
    {
    	echo $a="{$k}--{$a}<br>";
    }
    

    3.each()和list() 配合遍历 取数组中当前指针指向的元素

    $attr1=array("one"=>1,"two"=>2,"3"=>3); 
    var_dump(each($attr1));    //第一个元素 "one" 和 1
    var_dump(each($attr1));   //第二个元素 "two" 和 2
    var_dump(each($attr1));   //第三个元素 "3" 和 3
    
    $attr = array(1,2,3,4);
    list($a,$b,$c)=$attr;   //赋值,赋的是attr数组中的数值 list方法是在等号左侧
    echo $a;

    4.使用指针方式

    //指针位置没有变
    //current(); //取指针指向的当前元素的value值
    //key(); //取指针指向的当前元素的key值


    //变指针位置
    //next(); //执行一次,就向下调一个

    //prev(); //执行一次,就向上调一个

    //end(); //指针直接调到最后

    //reset(); //指针复位

  • 相关阅读:
    视频基础知识 720P、1080i、1080P
    PS/ES/TS区别
    服务端时间与COOKIE问题
    H.264名词
    一组视频音频编辑软件的介绍
    浅述WinForm多线程编程与Control.Invoke的应用
    [原创]补丁工具V1.6.3
    .net序列化与反序列化错误,可能是Local Settings\Temp不存在引起
    通过IViewObject接口,取浏览器的图象,实现SNAP
    C#实现一个用于开机启动其他程序的Windows服务
  • 原文地址:https://www.cnblogs.com/nuanai/p/6148663.html
Copyright © 2020-2023  润新知