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; //
$b=5;
echo $b++; //
echo $b; //
/*
运算过程:
第一种情况:首先将$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; //

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:运算符优先级

【一】php 基础知识的更多相关文章

  1. .NET面试题系列[1] - .NET框架基础知识(1)

    很明显,CLS是CTS的一个子集,而且是最小的子集. - 张子阳 .NET框架基础知识(1) 参考资料: http://www.tracefact.net/CLR-and-Framework/DotN ...

  2. RabbitMQ基础知识

    RabbitMQ基础知识 一.背景 RabbitMQ是一个由erlang开发的AMQP(Advanced Message Queue )的开源实现.AMQP 的出现其实也是应了广大人民群众的需求,虽然 ...

  3. Java基础知识(壹)

    写在前面的话 这篇博客,是很早之前自己的学习Java基础知识的,所记录的内容,仅仅是当时学习的一个总结随笔.现在分享出来,希望能帮助大家,如有不足的,希望大家支出. 后续会继续分享基础知识手记.希望能 ...

  4. selenium自动化基础知识

    什么是自动化测试? 自动化测试分为:功能自动化和性能自动化 功能自动化即使用计算机通过编码的方式来替代手工测试,完成一些重复性比较高的测试,解放测试人员的测试压力.同时,如果系统有不份模块更改后,只要 ...

  5. [SQL] SQL 基础知识梳理(一)- 数据库与 SQL

    SQL 基础知识梳理(一)- 数据库与 SQL [博主]反骨仔 [原文地址]http://www.cnblogs.com/liqingwen/p/5902856.html 目录 What's 数据库 ...

  6. [SQL] SQL 基础知识梳理(二) - 查询基础

    SQL 基础知识梳理(二) - 查询基础 [博主]反骨仔 [原文]http://www.cnblogs.com/liqingwen/p/5904824.html 序 这是<SQL 基础知识梳理( ...

  7. [SQL] SQL 基础知识梳理(三) - 聚合和排序

    SQL 基础知识梳理(三) - 聚合和排序 [博主]反骨仔 [原文]http://www.cnblogs.com/liqingwen/p/5926689.html 序 这是<SQL 基础知识梳理 ...

  8. [SQL] SQL 基础知识梳理(四) - 数据更新

    SQL 基础知识梳理(四) - 数据更新 [博主]反骨仔 [原文]http://www.cnblogs.com/liqingwen/p/5929786.html 序 这是<SQL 基础知识梳理( ...

  9. [SQL] SQL 基础知识梳理(五) - 复杂查询

    SQL 基础知识梳理(五) - 复杂查询 [博主]反骨仔 [原文]http://www.cnblogs.com/liqingwen/p/5939796.html 序 这是<SQL 基础知识梳理( ...

  10. APP测试入门篇之APP基础知识(001)

    前言        最近两月比较多的事情混杂在一起,静不下心来写点东西,月初想发表一遍接口测试的总结,或者APP测试相关的内容,一晃就月底了,总结提炼一时半会也整不完.放几个早年总结内部培训PPT出来 ...

随机推荐

  1. 巧用ELK快速实现网站流量监控可视化

    前言 本文可能不会详细记录每一步实现的过程,但一定程度上可以引领小伙伴走向更开阔的视野,串联每个环节,呈现予你不一样的效果. 业务规模 8个平台 100+台服务器 10+个集群分组 微服务600+ 用 ...

  2. 学写网页 #06# table

    A B E C D <!DOCTYPE html> <html> <head> <meta charset="utf-8" /> & ...

  3. H5+JS生成验证码

    效果图如下: <canvas id="canvas1" style="margin-left: 200px;"></canvas>< ...

  4. 前端诡异参数start

    今天搞了一下午只为一个诡异事件:前端请求数据时总是会传一个start=20的参数,二搜索整个项目也找不出这个start的踪影. 倒是搜到一个pageLength的参数是20,但就是找不到start. ...

  5. MyBatis批量更新

    逐条更新 这种方式显然是最简单,也最不容易出错的,即便出错也只是影响到当条出错的数据,而且可以对每条数据都比较可控. 代码 updateBatch(List<MyData> datas){ ...

  6. VR AR MR

    VR.AR和MR的区别? VR就是创造一个完全取代现实的世界,让人感觉「我怎么在这里?」 AR则是在现实世界的图像中叠加一些东西,让人感觉「哎?这里多了个本来不存在的东西」 MR则是虚拟物体完全和现实 ...

  7. k8s tensorflow

    Online learning github source Kubeflow实战系列 Prepare 了解ksonnet初探Google之Kubeflow (采用的是0.8.0)install dep ...

  8. Codeforces 834D The Bakery - 动态规划 - 线段树

    Some time ago Slastyona the Sweetmaid decided to open her own bakery! She bought required ingredient ...

  9. \n和\r区别

    转载:https://www.cnblogs.com/hq233/p/6389234.html 符号    ASCII码      意义\n        10        换行NL\r       ...

  10. python --- 17. 面向对象成员

    面向对象的成员 能写的所有成员 一.变量 1.实例变量 访问时      对象.变量 2.类变量 访问时     类名.变量 注意: 二.方法 1.实例方法 必须有一个参数(self) 调用时    ...