(七)php运算符
1 php标记,<?php php代码 ?>
2 注释:代码的解释和说明
- 多行注释 /**/
- 单行注释 //、#
- echo "hello".date("Y-m-d H:s:m");
- $a="hello";
- echo "hello.$world";
- ''单引号
- ""双引号
- EOF heredoc语法(ps:EOF可以替代为别的字符<<<EOF 字符串 EOF;)
- 可以是任意长度,由任意字母、数字、下划线组成
- 不能以数字开头
- 区分大小写
- 可以和函数名相同
- interger
- string
- float
- boolean
- array
- object
- null
- resource
- 关键字:define
- 变量名大写:define('NAME','test');
- 使用的时候不需要加$
- 一旦设定后不能在更改,是全局的
- 只能保存标量数据(字符串、整数、布尔值、浮点数)
- $_POST:通过post方法传递给该脚本的变量
- $_POST:通过get方法传递给该脚本的变量
- $_GLOBALS:全局变量数组
- $_COOKIE:cookie变量数组
- $_FILES:文件上传相关的变量数组
- $_ENV:环境变量数组
- $_REQUEST:所有用户输入的变量数组(包括$_POST\$_GET\$_COOKIE)
- $_SERVER:服务器环境变量数组
$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
*/
- 引用像一个别名 ,$aa和$bb指向同一个内存地址。通过unset来重置他们指向的地址
$aa=123;
$bb=&$aa;
$bb=455;
unset($bb); //unset $bb不会改变$aa=455的值,只是破坏了$a和455在内存中的链接
echo $aa;
- =:赋值操作符
- ==:只判断数据是否相等(0==‘0’为true,0===‘0’为false)
- ===:数据相等,类型相等才为true
- ||、or:或(其中一个为true则返回true)
- &&、and:与(两个都为true才返回true)
- !:非($a为false,则返回true)
- xor:异或(一个为true,返回true。两个为true或false,返回false)
- echo $name=='cmf'?'yes':'no'; 如果名字是cmf,则打印yes,否则no
echo @(0/0);
$out=`ls -la`; //针对当前脚本所在目录
echo '<pre>'.$out.'</pre>';
class sampleClass{};
$myObject=new sampleClass();
if ($myObject instanceof sampleClass){
echo 'myObject is an instance of sampleClass'; //输出
}
- 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():检查是否是任何类型的数字或者数字字符串
- 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
- intval
- floatval
- strval
- +(加)、-(减)、*(成)、/(除)
- %(取模,求余的意思)
<?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
}
?> - ++、--(我们的++和--也分前后)
<?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;
?> - 左加(+=)、左减(-=)、左乘(*=)、左除(/=)、左取模(%=)
<?php
$a=90;
$a-=60; //$a=$a-90
echo $a; //输出30
?>
24:比较运算符
- $a==$b:等于,true
- $a===$b:全等,true,类型也要一样
<?php
$a=2;
$b=2.0;
if($a===$b){
echo "ok";
}else{
echo "no"; //输出no,因为类型不一致 }
?> - $a!=$b:不等于
- $a!==$b:不全等
25:逻辑运算符
- and(逻辑与)必须都为true,优先级低
- or(逻辑或)任一为true,优先级低
- &&(逻辑与)必须都为true。同下例子
- ||(逻辑或)任一为true
$a=10;$b=7;
if($a++>8||$b++>7){ //逻辑或,前者为true后者不执行,所以$b=7
echo "ok";
}
echo $a.$b; //11和7 - !(逻辑非)取反
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运算符的更多相关文章
- C++解析七-重载运算符和重载函数
重载运算符和重载函数C++ 允许在同一作用域中的某个函数和运算符指定多个定义,分别称为函数重载和运算符重载.重载声明是指一个与之前已经在该作用域内声明过的函数或方法具有相同名称的声明,但是它们的参数列 ...
- JS基础入门篇(七)—运算符
1.算术运算符 1.算术运算符 算术运算符:+ ,- ,* ,/ ,%(取余) ,++ ,-- . 重点:++和--前置和后置的区别. 1.1 前置 ++ 和 后置 ++ 前置++:先自增值,再使用值 ...
- 【读书笔记】C#高级编程 第七章 运算符和类型强制转换
(一)运算符 类别 运算符 算术运算符 + - * / % 逻辑运算符 & | ^ ~ && || ! 字符串连接运算符 + 增量和减量运算符 ++ -- 移位运算符 < ...
- JavaScript学习笔记——运算符和表达式
javascript运算符 一.运算符和操作数的组合就称为表达式. 二.javascript运算符 (一) 算术运算符 + - * / % var++ ++var var-- --var A. + ( ...
- java注释 命名 数据类型 基本类型转换 位运算符 逻辑运算符 三目运算符
一.java注释 1.单行注释 //注释内容 2.多行注释 /*注释内容*/ 3.文档注释(可用javadoc工具生成api文档,不过我还没试过)/**文档注释*/,文档注释可以在使用的时候看见注释 ...
- JAVA基础——运算符和表达式
JAVA语言常用的运算符和表达式详解 一.简述 运算符是一种"功能"符号,用以通知 Java 进行相关的运算.譬如,我们需要将变量 age 的值设置为 20 ,这时候就需要一个&q ...
- go语言的运算符
什么是运算符:运算符用于在程序运行时执行数学或逻辑运算 go语言的运算符如下: 算术运算符 关系运算符 逻辑运算符 位运算符 赋值运算符 其他运算符 一,算数运算符 运算符 描述 实例 + 相加 A ...
- 手把手教你使用C#操作SQLite数据库,新建数据库,创建表,插入,查询,删除,运算符,like
目录: 一.新建项目,添加引用 二.创建数据库 三.创建表 四.插入数据 五.查询数据 六.删除数据 七.运算符 八.like语句 我的环境配置:windows 64,VS,SQLite(点击下 ...
- 搞定PHP面试 - 运算符知识点整理
一.算术运算符 1. 概览 例子 名称 结果 $a + $b 加法 $a 和 $b 的和. $a - $b 减法 $a 和 $b 的差. $a * $b 乘法 $a 和 $b 的积. $a / $b ...
- java基础- 你真的了解运算符吗?
一 前言 学习java运算符的基础是你对数学和计算机原理有一定的要求,如果文章中有些位运算不懂是生么意思,我建议大家去学习一下计算机原理,计算机组成类别的书籍,你也不用深入过多,只要了解计算机大概结构 ...
随机推荐
- 201521123042《Java程序设计》 第9周学习总结
1. 本周学习总结 1.1 以你喜欢的方式(思维导图或其他)归纳总结异常相关内容. ①finally块:无论是否被捕获或执行异常一定会被执行. 在try或catch中遇到return语句时,final ...
- 201521123122 《java程序设计》第十二周学习总结
## 201521123122 <java程序设计>第十二周实验总结 ## 1. 本周学习总结 1.1 以你喜欢的方式(思维导图或其他)归纳总结多流与文件相关内容. 2. 书面作业 将St ...
- Ajax练习题
1.使用Ajax跳转处理页面连接数据库,完成下拉列表 首页: <body> <select id="sel"> </select> < ...
- JavaSE(十)之Map总结
上一篇是总结了Collection接口的各种实现类,这一篇我将分享的是Map的总结,希望大家点评! 一.Map接口 1.1.为什么Collection不能满足集合的所有功能? Collection接口 ...
- Windows下用Composer安装Laravel步骤(集成php环境用phpStudy2016版本)
描述:到官方网站了解并根据自己所需要的版本号安装,所需要的php版本是多少. 中文网站:http://www.golaravel.com/ 官方网站:https://laravel.com/ 其实各自 ...
- Vue.js项目模板搭建
前言 从今年(2017年)年初起,我们团队开始引入「Vue.js」开发移动端的产品.作为团队的领头人,我的首要任务就是设计 整体的架构 .一个良好的架构必定是具备丰富的开发经验后才能搭建出来的.虽然我 ...
- UVW源码漫谈(番外篇)—— Emitter
这两天天气凉了,苏州这边连续好几天都是淅淅沥沥的下着小雨,今天天气还稍微好点.前两天早上起来突然就感冒了,当天就用了一卷纸,好在年轻扛得住,第二天就跟没事人似的.在这里提醒大家一下,天气凉了,睡凉席的 ...
- 阿里云服务器解决mysql远程连接失败问题
嗯,自己买了个阿里云的学生机服务器,奈何装了mysql以后一直不能连接,也是够笨的. 记录一下自己遇到的问题. 当然了,首先需要在阿里云安全组开放3306端口,第一次玩儿云服务器差点把我搞坏了.... ...
- NOIP算法总结与复习
NOIP算法总结与复习 (看了看李总的蓝皮书,收获颇多,记下此文,以明志--) (一)数论 1.最大公约数,最小公倍数 2.筛法球素数 3.mod规律公式 4.排列组合数,错排 5.Catalan数 ...
- RMQ-ST算法的理解与实现(C++)
RMQ-ST的含义 RMQ(Range Minimum/Maximum Query),即区间最值查询,是指这样一个问题:对于长度为n的数列A,回答若干询问RMQ(A,i,j)(i,j<=n),返 ...