php的语句

时间:2023-03-09 23:08:39
php的语句

  1.php流程语句

    1.php代码执行从上到下

    2.条件语句 if else 和 switch

    案例:

      $name=56;

      if($name>56) echo "hello world";

  条件语句的画图解析:

    php的语句

  if else 条件语句(主要针对范围)

  switch 条件语句(主要针对具体的值)

  案例:

    $name=1;

    switch($name){

      case 1:

        echo "1";

        break;

      case 2:

        echo "2";

        break;

    }

  4.循环语句:

    for

    案例:

      for($i=0;$i<3;$i++){

        echo $i;

      }

    while

    案例:

      while($i<5){

        echo $i;

        $i++;

      }

    do while

      do{

        echo "$i";

        $i++;

      }

      while($i<5);

    for each 针对关联数组  

    案例:

      $arr=array("name"=>"zhang","age"=>12);

      foreach($arr as $key=>$value){

        echo $key;

      }    

  注意:while和do while的区别:

    while  先判断后执行

    do while 先执行后判断;

  js中的数组,本质是对象;

  php中没有json格式。但是对于前端来说要 json格式

  php提供了一个方法叫 json_encode()  将数据转化为json格式;

  php数组:

    1.普通数组:$arr=[1,2,3,4];

    另一种写法:$arr=array(1,2,3,4);

    2.关联数组:

      $arr=array("name"=>"zhang","age"=>18);

    3.多维数组:

      两种情况:

        1.$arr=[1,2,3,[4,5,6,[12,45]],7,8,9];  普通函数的多维数组;

        2.$arr=array("name"=>array("zhang","li","wang'),"age"=>array(12,24,36));  关联数组的多为数组;

  多维数组的遍历:  (利用递归的特性)

  function fn($arr){
    foreach($arr as $key=>$value){
      if(is_array($value)){
        fn($value);
      }
      else{
        echo $value."<br />";
      }
    }
  }
  fn($arr);

  两个方法:

  获取数组长度的方法:count();

  判断一个变量是不是数组:is_array();      

  函数:php的自定义函数和内置函数;

    使用关键字function定义函数;

  function fn(){}  fn()

  函数调用的时候,会开辟内存空间,有栈和堆,调用完毕后内存就会被销毁,销毁的顺序,先进后出;

  画图解析函数:

  代码:

    function fn(){

      function ff(){

        echo "hello world";  

      }

      ff();

    }

    fn();

  画图:

    php的语句

  称之为:函数作用域;

  四个关键字:global  local  static  parameter

  global全局变量都会存在$GLOBALS的超全局变量里面 ,  $GLOBALS的本质是一个数组;

  函数参数;

    1.参数传值:

      function fn($a){

        echo $a;

      }

      fn(56);

    2.默认参数:

      function fn($a=23){

        echo $a;

      }

      fn();

    3.引用传参:将地址传进去;

    函数内部,如果修改了这个地址里的值,函数外也会跟着改 

      $n=20;
      function fn(&$n){
        $n++;
        echo $n+2;
      }
      fn($n);
      echo $n;

  如果传的有默认参数和普通参数同时传,主要注意顺序问题。

  在js中函数自身有一个arguments的属性,实参构成的数据集合;

  argument的方法:

    func_num_args()  获取实参的个数;

    func_get_arges()  获取实参构成的集合  因为是数组,输出的时候要用 var_dump();

    func_get_age(index)  必填参数,获取具体的某个参数;

  递归:

    函数内部调用函数本身:

    function test($n){

      echo $n;

      if($n>0){

        test($n-1);

      }

      else{

        echo "==="

      }

      echo $n;

    }

    test(3);    得到的答案:3210===0123;

    画图解析:

    php的语句