zoukankan      html  css  js  c++  java
  • 【一】php 基础知识

     1 php标记,<?php php代码 ?>

    2 注释:代码的解释和说明

    • 多行注释 /**/
    • 单行注释 //、#
    3“.”连接符
    • echo "hello".date("Y-m-d H:s:m");
    4.“=”赋值操作符,$a变量,hello数据本身
    • $a="hello";
    5.双引号可以解析变量名的值,而单引号不行,会原封不动的返还给浏览器
    • echo "hello.$world";
    6.指定字符串的3种方法
    • ''单引号
    • ""双引号
    • EOF heredoc语法(ps:EOF可以替代为别的字符<<<EOF 字符串 EOF;)
    7.标识符
    • 可以是任意长度,由任意字母、数字、下划线组成
    • 不能以数字开头
    • 区分大小写
    • 可以和函数名相同
    8.数据类型
    • interger
    • string
    • float
    • boolean
    • array
    • object
    • null
    • resource
    9.常量
    • 关键字:define
    • 变量名大写:define('NAME','test');
    • 使用的时候不需要加$
    • 一旦设定后不能在更改,是全局的
    • 只能保存标量数据(字符串、整数、布尔值、浮点数)
    10.超级全局变量
    • $_POST:通过post方法传递给该脚本的变量
    • $_POST:通过get方法传递给该脚本的变量
    • $_GLOBALS:全局变量数组
    • $_COOKIE:cookie变量数组
    • $_FILES:文件上传相关的变量数组
    • $_ENV:环境变量数组
    • $_REQUEST:所有用户输入的变量数组(包括$_POST$_GET$_COOKIE)
    • $_SERVER:服务器环境变量数组
    11.++a(前置递增运算符)和a++(后置递增运算符)
    $a=5;
    echo ++$a; //6 
    echo $a; //6
    $b=5; 
    echo $b++; //5
    echo $b; //5
    /*
    运算过程: 
    第一种情况:首先将$a+1,在将结果赋值给变量(执行完再赋值) 
    第二种情况:首先将$a返回到屏幕上,在+1(先赋值在执行) 
    $i=1;
    $a=($i++)+(++$i)+$i;
    // i=1; $i=2 
    //1+2=3 $++(执行完后在赋值)=4 
    //4+3=7 
    echo $a; //7
    echo $i; //3
    */
    12.引用操作符 &
    • 引用像一个别名 ,$aa和$bb指向同一个内存地址。通过unset来重置他们指向的地址 
    $aa=123;
    $bb=&$aa;
    $bb=455;
    unset($bb); //unset $bb不会改变$aa=455的值,只是破坏了$a和455在内存中的链接
    echo $aa;
    13.比较操作符
    • =:赋值操作符
    • ==:只判断数据是否相等(0==‘0’为true,0===‘0’为false)
    • ===:数据相等,类型相等才为true
    14.逻辑操作符
    • ||、or:或(其中一个为true则返回true)
    • &&、and:与(两个都为true才返回true)
    • !:非($a为false,则返回true)
    • xor:异或(一个为true,返回true。两个为true或false,返回false)
    15.三元运算符
    • echo $name=='cmf'?'yes':'no'; 如果名字是cmf,则打印yes,否则no
    16.错误抑制符@ 
    echo @(0/0);
    17.执行操作符``
    $out=`ls -la`; //针对当前脚本所在目录
    echo '<pre>'.$out.'</pre>';
    18.类型操作符:instanceOf(判断一个对象是否是特定类的实例)
    class sampleClass{};
    $myObject=new sampleClass();
    if ($myObject instanceof sampleClass){ 
        echo 'myObject is an instance of sampleClass'; //输出
    } 
    19.保留2位小数:number_format 返回的是string类型
    20.检查类型的测试函数 
    • is_array():数组
    • is_double();is_float();is_real():浮点数
    • is_long();is_int;is_interger():整数
    • is_string():字符串
    • is_bool():布尔值
    • is_resource():资源
    • is_null():null
    • is_object():对象
    • is_numeric():检查是否是任何类型的数字或者数字字符串
    21:检察变量状态
    • empty:判断值是否为空
    • isset:判断变量是否存在
    $a=123;     //empty:false; isset:true 
    $b='';         //empty:true; isset:true
    $c=0;         //empty:true; isset:true
    $d=null;     //empty:true isset:false
    22.变量转换
    • intval
    • floatval
    • strval
    23:算数运算符
    1. +(加)、-(减)、*(成)、/(除)
    2. %(取模,求余的意思)
      <?php
          $a=7/3;
          echo $a;    //2.3333333333333.因为float类型的最大精度为14位
          //需求:判断2个数是否能整除
          $a=55;
          $b=3;
          if($a%$b==0){
              echo "ok";
          }else{
              echo "no";    //输出no
          }
          ?> 
    3. ++、--(我们的++和--也分前后)
      <?php
          $a=88;
          $a++;     //等价于$a=$a+1
          echo $a;    //输出89
          $b=55;
          $b--;    //等价于$b=$b-1
          echo $b;    //输出54
          echo "<br/>";
          //细节:也分前++和后++
          $c=22;
          $d=$c++;    //先算后加,此时$d=22;$c=23
          //$d=++$c;    //先加后算,此时$c=23;$d=23
          $f=++$d;    //先加后算,此时$d=22+1=23;$f=23
          echo $c."||".$d."||".$f; //输出结果为23 ||23||23
          echo $f;
          ?> 
    4. 左加(+=)、左减(-=)、左乘(*=)、左除(/=)、左取模(%=)
      <?php
          $a=90;
          $a-=60;    //$a=$a-90
          echo $a;    //输出30
          ?>

    24:比较运算符

    1. $a==$b:等于,true
    2. $a===$b:全等,true,类型也要一样
      <?php
          $a=2;
          $b=2.0;
          if($a===$b){
              echo "ok";
          }else{
              echo "no"; //输出no,因为类型不一致    }
          ?>
    3. $a!=$b:不等于
    4. $a!==$b:不全等

    25:逻辑运算符

    1. and(逻辑与)必须都为true,优先级低
    2. or(逻辑或)任一为true,优先级低
    3. &&(逻辑与)必须都为true。同下例子
    4. ||(逻辑或)任一为true
          $a=10;$b=7;
          if($a++>8||$b++>7){    //逻辑或,前者为true后者不执行,所以$b=7
              echo "ok";
          }
          echo $a.$b;        //11和7
    5. !(逻辑非)取反

    and和&&都表示逻辑与,他们的区别主要体现在优先级上

    ||大于=大于or

        $e=false||true;    //true
        $f=false or true;    //false
        var_dump($e,$f);

    &&大于=大于and

        $a=true && false;    //false
        $b=true and false;    //true
        var_dump($a,$b);

     26:三元运算符

    基本语法:表达式1?表达式2:表达式3

    规则:如果表达1的结果为true,则取表达2的结果,反之取表达式3的结果

        $a=90;
        $b=80;
        $c=$a>$b?(12-5):900;
        echo "c=".$c;    //7

    27:字符串运算符

    当两个变量(基本数据类型)用.连接时,就表示把他们的内容拼接起来

        $a="hello";
        $b=123;
        $c=$a.$b;    //表示内容拼接
        echo $c;    //输出hellocmf

    28:类型运算符

    instanceof用于确定一个php变量是否属于某一类class的实例

        class dog{}
        class cat{}
        $cat1=new cat;
        var_dump($cat1 instanceof cat)    //输出true

    29:运算符优先级

  • 相关阅读:
    gitblit 配置图文详解
    springmvc文件下载之文件名下划线问题终极解决方案
    redis实战进阶
    关于B+树, 你要了解的都在这里
    http的长连接和短连接(史上最通俗!)以及应用场景
    Base64的前世今生
    Springfox集成Swagger2实战篇
    Minio使用详解
    ubuntu系统五笔输入法安装
    YouTube排名第一的励志英文演讲《Dream(梦想)》
  • 原文地址:https://www.cnblogs.com/8013-cmf/p/7722966.html
Copyright © 2011-2022 走看看