zoukankan      html  css  js  c++  java
  • 【三】php之梗

    1.php没有顶级作用域,所以你没办法在函数内部使用变量(参数传递除外,而且常量是可以的哟),所以你的变量即使是static的也不能在函数外声明函数里用。除非借助global关键字修饰变量才可以。但是需要注意的是global修饰可不是放在函数外的,而是放在函数里面。

         $i=10;
         global $i;//这么做是不对的
         function say(){
            global $i;//这样做是正确的,但是只能写成这样,global $i=10;这么写是错的。
            echo $i;
         }
         say();

    2.$的作用:可以理解为将 存有符合变量命名规范的字符串 的变量 解析成指针。

    $mk='tttt';
    $tttt=10;
    echo $$mk;//10

    3.如果对字符串进行算术运算,那么很不幸的告诉你,即使是单个字符php也不会将其转换成ASCII进行运算。而是将字符串变为0;
    4.php是可以操作指针的,比如按引用传递参数

    $i=10;
    function add(&$k){
        $k+=10;
        echo $k;//输出20
    }
    echo $i;//输出20

    5.php可以为函数的形参设定初始值

    $i=10;
    function say($i,$j=10){
       echo $i+$j;
    }
    say($i);//20

    6.php所谓变量函数的概念其实和JavaScript中对函数对象(var obj=function(){})的概念一样.
    7.php的函数引用实例:

    function &say($i,$j=10){
         $k=$i+$j;//不能直接return $i+$j表达式,否则会有警告
         return $k;//作为函数引用必须要有返回值,否则会有警告
    }
    $k=&say(10,10);
    echo $k;

     8.特立独行的foreach,传说php在5之后可以foreach 对象,(还没学到面向对象,以后再补)

    $arr=array('jack','mike','tom');
    foreach($arr as $key=>$value){
       echo $arr[$key];//jackmiketom
       echo $key;//012
       echo $value;//错误,不能这么做
    }
    foreach($arr as $value){
       echo $value;//jackmiketom
       echo $arr[$value];//错误,不能这么做
    }

    9.变态的continue:可以再continue后面书写数字,以命令程序跳出几层循环。如: continue 3; 跳出3层循环。

  • 相关阅读:
    java 日期的格式化
    JAVA 线程
    java 异常
    java 内部类
    java 多态
    SpringBoot(12) SpringBoot创建非web应用
    SpringCloud(1) 架构演进和基础知识简介
    SpringBoot(11) SpringBoot自定义拦截器
    SpringBoot(10) Servlet3.0的注解:自定义原生Servlet、自定义原生Listener
    SpringBoot(9) SpringBoot整合Mybaties
  • 原文地址:https://www.cnblogs.com/JhoneLee/p/3773616.html
Copyright © 2011-2022 走看看