PHP运算符的学习笔记
运算符号(操作符号)
按运算符号的功能分为
一:算术运算符 (+ - * / % ++ --)
% //有两个目的:整出运算;控制范围的运算(不要用小数,也不要用负数)
//会把两边的数转为整数后再进行整除
例子:
代码:
$year=?;
if(($year%4==0 && $year%100!=0) || $year%400==0){
echo "是闰年";
}else{
echo "不是闰年";
}
代码:
$a=109009;
echo $a%10;
++和--
例子:
代码:
$a=10;
$a++; //$a=$a+1 先用变量在自增1
++$a; //$a=$a+1 先用自增1再用变量
$a--; //$a=$a-1 先用变量再自减1
--$a; //$a=$a-1 先自减1再用变量
代码:
$a=10;
$b=$a++; //b=10,a=11
$c= --$b; //c=9,b=9
$d=$c++ + ++$c; //d=20,c=11
$e=$d-- - --$d; //e=2,d=18
二:字符串运算符(.)
三:赋值运算符(= += -= *= %= .=)
例子:
代码:
$a=10;
$a+=10; //$a=$a+10;
$a-=10; //$a=$a-10;
$a*=10; //$a=$a*10;
$a/=10; //$a=$a/10;
$a%=10; //$a=$a%10;
$a.="abc"; //$a=$a."abc";
四:比较运算符(> < >= <= == === !=或<> !==) //也叫条件运算符,关系运算符
比较后结果只有一种:boolean true false
==和=== //比较时不仅要求内容相同,也要求类型相同
例子:
代码:
$a=10;
if($a=100){
echo "正确";
}else{
echo "错误";
} //结果为正确,可是10是不会大于100的,因为=号是赋值,不是比较符号
代码:
$a=100;
if($a==100){
echo "正确";
}else{
echo "错误";
} //结果为正确,因为==意思为是否等于的意思。
代码:
$a=100;
if($a=="100"){
echo "正确";
}else{
echo "错误";
} //结果为正确,因为==比较的是内容,不要求类型
代码:
$a=100;
if($a==="100"){
echo "正确";
}else{
echo "错误";
} //结果为错误,因为===不仅比较内容,还要要求类型,"100"是字符类型
代码:
$a=100;
if($a===100){
echo "正确";
}else{
echo "错误";
} //结果为正确
!== // 这个是要求内容不相同,同时类型要不相同
五:逻辑运算符(&&或and ||或or !或not)
逻辑运算符只能操作bool型值,返回的也是bool型值
例子:
代码:
var_dump(true && true); //true
var_dump(true && false); //false
var_dump(true || false); //true
var_dump(!true); //false
var_dump(!false); //true
六:位运算符(& | ^ ~ << >> >>>)
& 和 | 既可以作为逻辑运算符号,又可以做为位运算符号
短路问题:&& 和|| 会发生短路
&& 在做运算时,如果前面的参数是false,则后面是否为true,整个表达式都是false,所以就不去执行后面的操作数
|| 在做运算时,如果前面的参数是true,则后面的是否为false,整个表达式都是true,所以就不去执行后面的操作数
& 或 | 在做运算时,两边都会被执行
七:其他运算符(? : `` @ => -> :: & $)
条件 ?成立执行这里 :不成立执行这里
例子:
代码:
$a=10;
$b=$a>5 ? $a : 5; //如果$a大于5就把$a赋值给$b,否则就是将5赋值给$b
echo $b; //结果是10
`` //执行系统命令的
例子: www.111cn.net
代码:
$ip=`ipconfig`;
echo "<pre>";
echo $ip;
echo "</pre>";
@ //屏蔽错误
例子:
代码:
@getType();
echo "mkmkmkmkmkmk<br>";
这里列举几个跳转方法:
网上最常见的一种方法:
代码如下 | 复制代码 |
<?php $url = $_GET['url']; |
把这段代码放到一个文件夹,命名为 比如go.php
然后go.php?url=需要跳转的网址,如果需要跳转淘宝客等产品链接,由于带有参数,需要修改下代码,用如下的代码
代码如下 | 复制代码 |
<?php $qstring = $_SERVER['QUERY_STRING']; $url = substr($qstring,4); header("Location: $url"); ?> |
另外还有很多js html的代码等等,就不介绍了,有需要的网上搜索一大把。
好吧这是我上次布置的作业,为了收尾就写篇教程+w+,其实我还是觉得没什么好写的,方法非常的简单我们只要在当前页面判断是否为post或get有参数就进行获取输出例子。题目也就是做个和演示差不多一个意思的了,给的提示应该是很充分的,包括各种函数都有。
在PHP 检查表单是否提交的两种方法中提到了如何检测提交,利用这个方法我们就可以节省一个HTML文件了。
$_POST是一个数组(超全局变量),如果页面的请求方式是POST,在这个数组里就会存上相应的内容,
empty()函数以前有讲过,还有一个isset()的区别文章后面也介绍过
然后基本上就很易懂了
源码:
代码如下 | 复制代码 |
<!DOCTYPE html> |
关于
empty()函数参数是非或非零的值,则empty()返回FALSE:
"",0,"0",NULL,FALSE,array(),var $var都被认为是空,如果函数为空,则返回TRUE。
isset()参数存在,则返回TRUE,否则返回FALSE,如果使用isset()测试一个被设置成NULL的变量或者使用unset()释放了一个变量,则返回FALSE。
复习:NULL字节("")并不等同于PHP的NULL函数。
注:判断一个变量存在且不为空:!empty($var) - 推荐
在PHP一段语言中
<?php
phpinfo();
?>
例1
<?php
phpinfo()
?> //在php语言中,在语言最后结束时phpinfo()可以不加“;”,后面的?>这个可以直接作为结束,以及默认可以作为正确解释。
例2
<?php
phpinfo();
//在phpinfo();为最后语句时,可以不用加?>,也可以正确解析,这个在以后作为调用时,可以避免出错,所以推荐在语句结束时,可以不用“?>”
PHP是弱类型的语言
PHP中共有8中类型
4种标量 //只能存储一个值)
1.整 型:int integer
2.布尔型:bool boolean
3.浮点型:float,double,real
4.字符型:string
2种复合类型 //一个变量能存储多个值
1.数组:array //只能存储多个变量
2.对象:object //可存变量以及函数
2中特殊类型
1.资源类型:resource
2.空 类 型:null
例子:Var_dump(变量或值); //即可以查看变量或值的类型,又可以看数据
代码:
<?php
//输出整数型
$var=10;
echo "<pre>"; //<pre>标签是以代码原形输出
var_dump($var);//输出结果:int(10),意思是为整数型,值为10
echo "</pre>";
echo "----------------------<br>";
//输出浮点型
$var=11.11;
echo "<pre>";
var_dump($var);//输出结果:float(11.11),意思是为浮点型,值为11.11
echo "</pre>";
echo "----------------------<br>";
//输出布尔型
$var=true;
echo "<pre>";
var_dump($var);//输出结果:bool(true),意思是为布尔型,值为true
echo "</pre>";
echo "----------------------<br>";
//输出字符型
$var="mk";
echo "<pre>";
var_dump($var);//输出结果:string(2) "mk",意思是为字符型,值为mk
echo "</pre>";
echo "----------------------<br>";
//输出数组
$var=array(1,2,3);
echo "<pre>";
var_dump($var);
echo "</pre>";
echo "----------------------<br>";
?>
数据类型的转换
一种是强制转换:
1.setType(变量,类型);//类型int,integer,float,double,real,bool,boolena,string,array,object
这个函数将原变量的类型改变,var_dump();
代码:
$str="100.1254abc";
setType($str,int);
var_dump($str);
2.在赋值前使用(类型)的形式,不会改变原变量的类型($a=(int)$str;)
代码:
$str="100.1254abc";
$a=(int)$str;
var_dump($a);
var_dump($str);
3.$变量=intval(变量或值);
$变量=float(变量或值);
$变量=stringval(变量或值);
代码:
$str="100.1254abc";
$a=intval($str);
var_dump($a);
注意:整型在内存中占4个字节
浮点型在内存中占8个字节
一种是自动转换(这是PHP最常用的方式,因为这种我们开发时不用去管理类型,变量会根据运行环境自动转换)
代码:
$a=10;
$b=true;
$c="100abc";
$d=12.14;
$sum=$a+$b+$c+$d;
var_dump($sum);
与变量和类型有关的一些常用函数
isset(); //是判断变量存不存在,值如果是null,也表示空
代码:
$a="";
if(isset($a)){
echo "存在";
}else{
echo "不存在";
}
empty(); //判断一个变量是否为空,如 "" null
代码:
$a="";
if(empty($a)){
echo "null";
}else{
echo "No null";
}
unset();
setType();
getType();
变量类型测试函数
is_bool();
is_int(); is_integer(); is_long();
is_string();
is_float(); is_double(); is_real();
is_array();
is_object();
is_resource();
is_null();
is_scalar();
is_numberic();
is_callable();
常量的声明与使用
1.常量是一个简单的标识符
2.常量定以后不能再改变他的值,也不能使用unset()取消
3.常量可以不用理会变量范围的规则而在任何地方都可以定义和访问
4.常量使用define("常量名",值)
5.常量名在声明和使用都不使用"$"
6.常量名称习惯使用大写
7.常量的值只能用标量类型(int,float,bool,string)
8.常量一定要在声明时就给值
9.defined("常量") //判断常量存不存在
代码:
define("MK","Morker");
echo MK;
defined();
代码:
define("MK2B","Morker");
if(defined("MK")){
echo MK;
}else{
define("MK",504815135);
}
echo MK;
相关文章
- 这篇文章介绍了c#的异或运算符,有需要的朋友可以参考一下...2020-06-25
- 轻松学习C#的运算符,对C#的运算符感兴趣的朋友可以参考本篇文章,帮助大家更灵活的运用C#的运算符。...2020-06-25
- 这只我自己在学C#中的一些总结,其中对于各级的划分方式、各操作符的优先级的理解并不见得正确,只是自己的看法,拿出来与大家分享...2020-06-25
- 我们在php中上传文件就必须使用#_FILE变量了,这个自动全局变量 $_FILES 从 PHP 4.1.0 版本开始被支持。在这之前,从 4.0.0 版本开始,PHP 支持 $HTTP_POST_FILES 数组。这...2016-11-25
- 1、简介Smarty是一个使用PHP写出来的模板PHP模板引擎,是目前业界最著名的PHP模板引擎之一。它分离了逻辑代码和外在的内容,提供了一种易于管理和使用的方法,用来将原本与HTML代码混杂在一起PHP代码逻辑分离。简单的讲,目...2014-05-31
- 在本篇文章里小编给大家分享了一篇关于R语言运算符知识点讲解内容,有兴趣的朋友们可以参考下。...2021-05-06
- 这篇文章主要介绍了C++中的或||、与&&、非!逻辑运算符基本用法整理,是C++入门学习中的基础知识,需要的朋友可以参考下...2020-04-25
- 当我们在星际中开地图和几家电脑作战的时候,电脑的几个玩家相当于结盟,一旦我们出兵进攻某一家电脑,其余的电脑会出兵救援。 那么如何让各家电脑知道自己的盟友被攻击了...2016-11-25
- 这篇文章主要介绍了JS不要再到处使用绝对等于运算符了,对此感兴趣的同学,可以参考下...2021-05-01
- 这篇文章主要介绍了C#运算符和表达式,这是自学C#编程的第五篇,希望对大家的学习有所帮助。...2020-06-25
- 举一个简单的date例子 我将使用echo命令把内容输出到我们的客户端(浏览器)。我将使用下面的代码做为基础代码。 代码如下 复制代码 <!DOCTY...2016-11-25
- 这篇文章主要介绍了C#运算符重载用法,实例分析了C#中运算符重载的基本实现与使用技巧,需要的朋友可以参考下...2020-06-25
- 这篇文章主要介绍了C++中运算符 &和&&、|和|| 的详解及区别的相关资料,这里举例说明该如何区别他们的不同,需要的朋友可以参考下...2020-04-25
- 在php中运算符有常用的三种了如有一元运算符,二元运算符,三元运算符了,下面来简单的介绍一下吧。 运算符是可以通过给出的一或多个值(用编程行话来说,表达式)来产生...2016-11-25
- 一篇Android学习笔记之多界面切换实例,希望对各位朋友有所帮助。 用过VB 、 VC#的朋友都知道,在VB或VC#里要进行窗口(界面)切换很容易 例如在VB、C#里: 有 Fom1、...2016-09-20
- 引用:意思是将原始对象在内存中的地址传递给目标对象,就相当于原始对象和目标对象指向的是同一个内存地址。此时,如果对目标对象或者原始对象进行修改,内存中的数据也会改...2016-11-25
- 这篇文章主要介绍了C#中的除法运算符与VB.NET中的除法运算符,需要的朋友可以参考下...2020-06-25
- cURL是php中一个很强大的功能,可以模仿各种用户请求,如模仿用户登录,发送php cookie等等操作,下面我来整理一些相关的方法与各位同学看看 备注:使用curl_init函数,必须...2016-11-25
- 这篇文章主要介绍了C语言中逻辑运算符与条件运算符的学习教程,条件运算符问号即三目运算符使用起来十分方便,需要的朋友可以参考下...2020-04-25
- 那些年学了ASP.NET后,才开始学习C#,说来也怪,怎么学了ASP.NET才来学习C#,其实没有什么的...2020-06-25