美文网首页
php学习笔记(二)

php学习笔记(二)

作者: dev_winner | 来源:发表于2019-06-24 17:50 被阅读0次
    • PHP运算符一般分为算术运算符赋值运算符比较运算符三元运算符逻辑运算符字符串连接运算符错误控制运算符
    • “&”:引用赋值,意味着两个变量都指向同一个数据。它将使两个变量共享一块内存,如果这个内存存储的数据变了,那么两个变量的值都会发生变化。
    <?php
     $a = "h1";
        $b = &$a;  // 变量b引用a,共享一块内存
        $b = "h2";  // 重新赋值,相当于修改了变量a的值
        echo $a;
    // h2
    
    比较运算符
    <?php
        $a = 1;
        $b = "1";
        var_dump($a == $b); // bool(true)
        echo "<br />";
        var_dump($a === $b); // 全等运算符,bool(false) 
        echo "<br />";
        var_dump($a != $b); //  bool(false)
        echo "<br />";
        var_dump($a <> $b); // bool(false)
        echo "<br />";
        var_dump($a !== $b); // 非全等运算符,bool(true)
        echo "<br />";
        var_dump($a < $b); // bool(false)
        echo "<br />";
    
    • (“?:”)三元运算符也是一个比较运算符,对于表达式(expr1)?(expr2):(expr3),如果expr1的值为true,则此表达式的值为expr2,否则为expr3。
    逻辑运算符
    • 字符串连接运算符:
    • (1)连接运算符(“.”):它返回将右参数附加到左参数后面所得的字符串。(2)连接赋值运算符(“.=”):它将右边参数附加到左边的参数后。
    <?php
        $c = "张 loves ";
        $c .= " 李";
        echo $c;
    // 张 loves 李
    
    • 错误控制运算符@,将@放置在一个PHP表达式之前,该表达式可能产生的任何错误信息都被忽略掉;如果激活了track_error(这个玩意在php.ini中设置)特性,表达式所产生的任何错误信息都被存放在变量$php_errormsg中,此变量在每次出错时都会被覆盖,所以如果想用它的话必须尽早检查。
    • 需要注意的是:错误控制前缀“@”不会屏蔽解析错误的信息,不能把它放在函数类的定义之前,也不能用于条件结构例如if和foreach等。
    <?php  
     $conn = @mysql_connect("localhost","username","password");
     echo "出错了,错误原因是:".$php_errormsg;
    ?>
    
    • 循环结构之foreach循环语句:一般有两种使用方式:不取下标取下标
     // 模板
    <?php
      // 只取值,不取下标
      foreach (数组 as 值){
      //执行的任务
      }
      //同时取下标和值
      foreach (数组 as 下标 => 值){
       //执行的任务
      }
    ?>
    
    • 测试:
    <?php
    $students = array(
            '2010' => '令狐冲',
            '2011' => '林平之',
            '2012' => '曲洋',
            '2013' => '任盈盈',
            '2014' => '向问天',
            '2015' => '任我行',
            '2016' => '冲虚',
            '2017' => '方正',
            '2018' => '岳不群',
            '2019' => '宁中则',
        );//10个学生的学号和姓名,用数组存储
    
        //使用循环结构遍历数组,获取学号和姓名
        foreach ($students as $index => $v) {
            echo "下标为:";
            echo $index;
            echo ",对应的值为:";
            echo $v;//输出(打印)姓名
            echo "<br />";
        }
        echo "<hr />";
        foreach ($students as $v) { 
            echo $v; // 打印值
            echo "<br />";
        }
    
    • php中结构嵌套之循环嵌套(相当于二维数组)
    <?php
        $students = array(
            '2010'=>array('令狐冲',"59"),
            '2011'=>array('林平之',"44"),
            '2012'=>array('曲洋',"89"),
            '2013'=>array('任盈盈',"92"),
            '2014'=>array('向问天',"93"),
            '2015'=>array('任我行',"87"),
            '2016'=>array('冲虚',"58"),
            '2017'=>array('方正',"74"),
            '2018'=>array('岳不群',"91"),
            '2019'=>array('宁中则',"90"),
        );//10个学生的学号、姓名、分数,用数组存储
    
        foreach($students as $key => $val){ //使用循环结构遍历数组,获取学号
            echo $key.":"; //输出学号
        //    echo ":";
            //循环输出姓名和分数
            foreach($val as $v){
                echo $v." ";
            }
            echo "<br />";
        }
    //2010:令狐冲 59 
    //2011:林平之 44 
    //2012:曲洋 89 
    //2013:任盈盈 92 
    //2014:向问天 93 
    //2015:任我行 87 
    //2016:冲虚 58 
    //2017:方正 74 
    //2018:岳不群 91 
    //2019:宁中则 90
    
    • for循环
    <?php
      for(初始化;循环条件;递增项){
          //执行任务
      }
    ?>
    
    • 字符串:双引号解析变量,但是单引号不解析变量
    • 单引号效率高于双引号,尽可能使用单引号
    • 如果在双引号里面插变量的时候,后面不想有空格(或特殊字符),可以拿大括号将变量包起来。
    • 双引号解析转义字符单引号不解析转义字符。但,单引号能解析\'\
    <?php
        // 双引号执行转义字符而单引号不执行转义字符。
        $str1 = "学PHP\n给梦想\t一个机会";
        echo $str1 . '<br />'; // 学PHP 给梦想  一个机会
    
        $str2 = '学PHP\n给梦想\t一个机会';
        echo $str2 . '<br />'; // 学PHP\n给梦想\t一个机会
    
        // 使用反斜杠转义字符给双引号中添加双引号
        $str3 = "他说:\"你好!\"";
        echo $str3 . '<br />';  // 他说:"你好!"
    
        // 使用反斜杠转义字符给单引号中添加单引号
        $str4 = 'i\'m small ming';
        echo  $str4; // i'm small ming
    
    • 双号和单引号可以互插!!!双引号当中插入单引号,单引号当中插入变量,这个变量会被解析
    <?php
        // 双引号当中插入单引号,单引号当中插入变量,这个变量会被解析。
        $legend = '猛虎';
        $NoAlike = "心有'$legend',细嗅蔷薇";
        echo $NoAlike; // 心有'猛虎',细嗅蔷薇
    
    • 在双引号里面插入变量,变量后面如果有英文或中文字符,它会把这个字符和变量拼接起来,视为一整个变量。一定要在变量后面接上特殊字符,例如空格等分开。
    • var_dump()是一个函数。向括号()中间插入变量。这个函数,会打印出来数据类型,还会对应显示变量的长度
    • 空在英文里面表示是null,它是代表没有。空(null)不是false,不是0,也不是空格。
    • empty()可以向括号中间传入一个变量。这个变量的值如果为false或者为null的话,则返回true
    • 使用函数unset()将变量销毁掉
    <?php
        $iphone = '手机';
        // unset函数销毁掉一个变量
        unset($iphone);
        var_dump($iphone); // NULL
        //empty函数判断是否变量值是否为false或者为NULL,有则返回true
        if(empty($iphone)) {
            echo '不能买苹果手机!';
        } else {
            echo "可以买苹果手机啦!";
        } 
    
    • isset()函数:可以向括号中间传入一个或者多个变量,变量与变量间用逗号分开。只要有一个变量为null,就返回false,否则返回true。
    • gettype(传入一个变量)能够获得变量的类型。
    使用is_* 系列函数。 is_types这一系列的函数,来进行判断某个东西是不是某个类型。
    is_int 是否为整型
    is_bool 是否为布尔
    is_float 是否是浮点
    is_string 是否是字符串
    is_array 是否是数组
    is_object 是否是对象
    is_null 是否为空
    is_resource 是否为资源
    is_scalar 是否为标量
    is_numeric 是否为数值类型
    is_callable 是否为函数
    
    • 强制类型转换有三种方式:
      1、用这三个函数可以完成类型转换:intval()floatval()strval()
      2、变量前加上()里面写上类型,将它转换后赋值给其他变量;
      3、settype(变量,类型) 直接改变变量本身的类型。
    1.空转为整型会为整型的0
    2.空转为浮点会为浮点的0
    3.空转为字符串会为空字符串''
    4.浮点的123.0转为字符串会为字符串123
    5.浮点的123.2转为字符串会为字符串的123.2
    6.浮点即使小数点再大,它都会被干掉,会舍掉小数点后面的值
    7.如果字符串转为整型的时候,如果数值在前面,会将前面的数值拿出来做为整型的转换值。
    8.settype(变量,'null'); 等价于 unset()一个变量
    9.$目标变量 = (类型)$操作变量 只会改变目标变量的类型,不会改变原变量的类型(而是拷贝一份),settype是改变原来的类型!
    

    1.常量名可以小写,但是通常大写
    2.常量名可以不加引号,但是通常加上引号
    3.在字符串中调用常量的时候,必须在引号外面
    4.常量名建议只用字母下划线

    常量名 说明
    LINE 当前所在的行
    FILE 当前文件在服务器的路径
    FUNCTIOIN 当前函数名
    CLASS 当前类名
    METHOD 当前成员方法名
    PHP_OS PHP运行的操作系统
    PHP_VERSION 当前PHP的版本
    TRAIT Trait 的名字,php5.4新加
    DIR 文件所在的目录
    NAMESPACE 当前命名空间的名称(区分大小写)
    • defined()函数来做安全机制。
    • include('传入文件路径和文件名'),功能:传入指定路径的文件,让PHP包含进来执行。
    • 可变变量(变量的变量):已声明的变量前再上变量符
    <?php
         $shu = 'biao';
         $biao = '鼠标';
         echo $$shu; // 鼠标
    

    php函数

    function 函数名(参数列表) {
        函数体
        返回值
    }
    // 有效的函数名以字母或下划线打头,后面跟字母,数字或下划线。
    

    相关文章

      网友评论

          本文标题:php学习笔记(二)

          本文链接:https://www.haomeiwen.com/subject/hlpoqctx.html