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. orm操作

    一.必知必会13条 <1> all(): 查询所有结果 <2> filter(**kwargs): 它包含了与所给筛选条件相匹配的对象 <3> get(**kwar ...

  2. python的类和对象

    一.面向对象和面向过程 1.1面向过程的特点 优点是:极大的降低了写程序的复杂度,只需要顺着要执行的步骤,堆叠代码即可. 缺点是:一套流水线或者流程就是用来解决一个问题,代码牵一发而动全身. 1.2面 ...

  3. MediaCodec在Android视频硬解码组件的应用

    https://yq.aliyun.com/articles/632892 云栖社区> 博客列表> 正文 MediaCodec在Android视频硬解码组件的应用   cheenc 201 ...

  4. LNMP 添加 memcached服务

    LNMP 添加 memcached服务   由于memcached具有更多的功能和服务,已经不推荐使用memcache了.(缺少个字母d) 1. 首先安装memcached服务端. 这里使用yum源安 ...

  5. Firemonkey的几个特色属性(二)

    3.RotationAngle 控件的旋转角度,可以通过TAnimation进行角度旋转控制. 4.RotationCenter 控件旋转的中心位置,从(0,0)到(1,1),缺省是(0.5,0.5) ...

  6. Python3 tkinter基础 Entry state 不可写 可以选 可复制的输入框

             Python : 3.7.0          OS : Ubuntu 18.04.1 LTS         IDE : PyCharm 2018.2.4       Conda ...

  7. mysql的 深度使用 - 游标 , 定时器, 触发器 的使用 ?

    游标 叶叫做 光标; 只能使用在 mysql的 存储过程 或函数中! 游标的概念? 为什么要使用 游标? 什么叫 定时器, 就是事件 event! 是在 mysql 5.0以上的版本中, 才能使用支持 ...

  8. 102. Binary Tree Level Order Traversal 广度优先遍历

    Given a binary tree, return the level order traversal of its nodes' values. (ie, from left to right, ...

  9. UML类图中箭头的含义

    Explanation of the UML arrows Here's some explanations from the Visual Studio 2015 docs: UML Class D ...

  10. 论文阅读:Prominent Object Detection and Recognition: A Saliency-based Pipeline

    论文阅读:Prominent Object Detection and Recognition: A Saliency-based Pipeline  如上图所示,本文旨在解决一个问题:给定一张图像, ...