zoukankan      html  css  js  c++  java
  • 函数和数组

    一、函数
    函数三要素: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(); //指针复位

  • 相关阅读:
    HDU 2955 Robberies(01背包)
    HDU 2602 Bone Collector(01背包)
    HUST 1352 Repetitions of Substrings(字符串)
    HUST 1358 Uiwurerirexb jeqvad(模拟解密)
    HUST 1404 Hamming Distance(字符串)
    HDU 4520 小Q系列故事――最佳裁判(STL)
    HDU 2058 The sum problem(枚举)
    【破解】修改程序版权、添加弹窗
    HDU 1407 测试你是否和LTC水平一样高(枚举)
    HDU 1050 Moving Tables(贪心)
  • 原文地址:https://www.cnblogs.com/nuanai/p/6148663.html
Copyright © 2011-2022 走看看