PHP运算符的学习笔记

 更新时间:2016年11月25日 14:58  点击:1919
运算符是php中非常重的一个知识点了,现在我在学习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'];
Header("Location:$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>
<html>
<head>
 <meta charset="utf-8">
 <title>注册系统</title>
</head>
<body>
 <?php
 if ($_SERVER['REQUEST_METHOD'] !== 'POST') {
 ?>
 <h2>注册</h2>
 <form action="form-post.php" method="post">
 用户名:<input type="text" name="username"><br/>
 密码<input type="password" name="password"><br/>
 <input type="checkbox" name="agree">同意许可协议<br/>
 <input type="submit" name="submit" value="提交">
 </form>
 <?php
 } else {
 $problem = FALSE;
 if (empty($_POST['username'])) {
 echo '请输入用户名<br/>';
 $problem = TRUE;
 }
 if (empty($_POST['password'])) {
 echo '请输入密码<br/>';
 $problem = TRUE;
 }
 if (empty($_POST['agree'])) {
 echo '您必须先同意许可协议<br/>';
 $problem = TRUE;
 }
 if (!$problem) {
 echo '<h2>注册成功</h2>';
 echo '欢迎' . $_POST['username'] . '你已成功注册,你的密码是' . $_POST['password'];
 }
 }
 ?>
</body>
</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开始与结束了,但是在使用中我们有一些小技巧,下面我来给各位同学整理一下。

在PHP一段语言中

<?php
            phpinfo();
?>

例1
<?php
             phpinfo()
?>  //在php语言中,在语言最后结束时phpinfo()可以不加“;”,后面的?>这个可以直接作为结束,以及默认可以作为正确解释。

例2
<?php
              phpinfo();
//在phpinfo();为最后语句时,可以不用加?>,也可以正确解析,这个在以后作为调用时,可以避免出错,所以推荐在语句结束时,可以不用“?>”

php变量是一个弱类型了我们可以进行各数据类型之后的快速转换,下面整理了一下关于php变量与常量的使用例子,希望这些例子对各位学习php会有帮助。

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;

[!--infotagslink--]

相关文章

  • c#的异或运算符介绍

    这篇文章介绍了c#的异或运算符,有需要的朋友可以参考一下...2020-06-25
  • 轻松学习C#的运算符

    轻松学习C#的运算符,对C#的运算符感兴趣的朋友可以参考本篇文章,帮助大家更灵活的运用C#的运算符。...2020-06-25
  • C#中38个常用运算符的优先级的划分和理解

    这只我自己在学C#中的一些总结,其中对于各级的划分方式、各操作符的优先级的理解并不见得正确,只是自己的看法,拿出来与大家分享...2020-06-25
  • php上传图片学习笔记与心得

    我们在php中上传文件就必须使用#_FILE变量了,这个自动全局变量 $_FILES 从 PHP 4.1.0 版本开始被支持。在这之前,从 4.0.0 版本开始,PHP 支持 $HTTP_POST_FILES 数组。这...2016-11-25
  • Smarty模板学习笔记之Smarty简介

    1、简介Smarty是一个使用PHP写出来的模板PHP模板引擎,是目前业界最著名的PHP模板引擎之一。它分离了逻辑代码和外在的内容,提供了一种易于管理和使用的方法,用来将原本与HTML代码混杂在一起PHP代码逻辑分离。简单的讲,目...2014-05-31
  • R语言运算符知识点讲解

    在本篇文章里小编给大家分享了一篇关于R语言运算符知识点讲解内容,有兴趣的朋友们可以参考下。...2021-05-06
  • C++编程中的或||、与&&、非!逻辑运算符基本用法整理

    这篇文章主要介绍了C++中的或||、与&&、非!逻辑运算符基本用法整理,是C++入门学习中的基础知识,需要的朋友可以参考下...2020-04-25
  • php Observer观察者模式之学习笔记

    当我们在星际中开地图和几家电脑作战的时候,电脑的几个玩家相当于结盟,一旦我们出兵进攻某一家电脑,其余的电脑会出兵救援。 那么如何让各家电脑知道自己的盟友被攻击了...2016-11-25
  • JS不要再到处使用绝对等于运算符了

    这篇文章主要介绍了JS不要再到处使用绝对等于运算符了,对此感兴趣的同学,可以参考下...2021-05-01
  • C#编程自学之运算符和表达式

    这篇文章主要介绍了C#运算符和表达式,这是自学C#编程的第五篇,希望对大家的学习有所帮助。...2020-06-25
  • PHP 日期函数 学习笔记介绍

    举一个简单的date例子 我将使用echo命令把内容输出到我们的客户端(浏览器)。我将使用下面的代码做为基础代码。 代码如下 复制代码 <!DOCTY...2016-11-25
  • C#运算符重载用法实例分析

    这篇文章主要介绍了C#运算符重载用法,实例分析了C#中运算符重载的基本实现与使用技巧,需要的朋友可以参考下...2020-06-25
  • C++中运算符 &和&&、|和|| 的详解及区别

    这篇文章主要介绍了C++中运算符 &和&&、|和|| 的详解及区别的相关资料,这里举例说明该如何区别他们的不同,需要的朋友可以参考下...2020-04-25
  • PHP的三种类型的运算符

    在php中运算符有常用的三种了如有一元运算符,二元运算符,三元运算符了,下面来简单的介绍一下吧。 运算符是可以通过给出的一或多个值(用编程行话来说,表达式)来产生...2016-11-25
  • Android学习笔记之多界面切换实例

    一篇Android学习笔记之多界面切换实例,希望对各位朋友有所帮助。 用过VB 、 VC#的朋友都知道,在VB或VC#里要进行窗口(界面)切换很容易 例如在VB、C#里: 有 Fom1、...2016-09-20
  • php中的变量引用传值学习笔记

    引用:意思是将原始对象在内存中的地址传递给目标对象,就相当于原始对象和目标对象指向的是同一个内存地址。此时,如果对目标对象或者原始对象进行修改,内存中的数据也会改...2016-11-25
  • C#中的除法运算符与VB.NET中的除法运算符

    这篇文章主要介绍了C#中的除法运算符与VB.NET中的除法运算符,需要的朋友可以参考下...2020-06-25
  • PHP中的cURL请求及示例学习笔记

    cURL是php中一个很强大的功能,可以模仿各种用户请求,如模仿用户登录,发送php cookie等等操作,下面我来整理一些相关的方法与各位同学看看 备注:使用curl_init函数,必须...2016-11-25
  • C语言中逻辑运算符与条件运算符的学习教程

    这篇文章主要介绍了C语言中逻辑运算符与条件运算符的学习教程,条件运算符问号即三目运算符使用起来十分方便,需要的朋友可以参考下...2020-04-25
  • 那些年,我还在学习C# 学习笔记

    那些年学了ASP.NET后,才开始学习C#,说来也怪,怎么学了ASP.NET才来学习C#,其实没有什么的...2020-06-25