运算

  1. 算术运算符

     <?php
    
         //加法
    $num1 = 10;
    $num2 = 43; echo $num1 + $num2;
    echo " ";
    var_dump($num1 + $num2);
    echo "<p />";
    ?> 结果 : 53 int(53)

    php--加法

     <?php
    
         //加法
    $num1 = 10;
    $num2 = 43; echo $num1 - $num2;
    echo " ";
    var_dump($num1 - $num2);
    echo "<p />";
    ?> 结果: -33 int(-33)

    php--减法

     <?php
    
         //加法
    $num1 = 10;
    $num2 = 43; echo $num1 * $num2;
    echo " ";
    var_dump($num1 * $num2);
    echo "<p />";
    ?> 430 int(430)

    php--乘法

     <?php
    
         //加法
    $num1 = 10;
    $num2 = 43; echo $num1 / $num2;
    echo " ";
    var_dump($num1 / $num2);
    echo "<p />";
    ?> 结果:0.23255813953488 float(0.23255813953488)

    php--除法

     <?php
    
         //加法
    $num1 = 10;
    $num2 = 43; echo $num1 % $num2;
    echo " ";
    var_dump($num1 % $num2);
    echo "<p />";
    ?> 结果: 10 int(10)

    php--求余

  2. 赋值运算符
     <?php
    
         //赋值
    $num =35; echo $num;
    ?> 结果: 35

    php--赋值

     <?php
    
         //赋值
    $num =35; $num += $num; echo $num;
    ?> 结果 : 70

    php--左边加右边-赋值给左边

     <?php
    
         //赋值
    $num =35; $num -= $num; echo $num;
    ?> 结果: 0

    php--左边减右边-赋值给左边

     <?php
    
         //赋值
    $num =35; $num *= $num; echo $num;
    ?> 结果: 1225

    php--左边乘右边-赋值给左边

     <?php
    
         //赋值
    $num =35; $num /= $num; echo $num;
    ?> 结果: 1

    php--左边除右边-赋值给左边

     <?php
    
         //赋值
    $num =35; $num %= $num; echo $num;
    ?> 结果: 0

    php--左边求余右边-赋值给左边

     <?php
    
         //字符串连接
    $num =35; $num .= $num; echo $num;
    ?> 结果: 3535

    php--字符串连接

  3. 逻辑运算符
     <?php
    
         $true = true;
    $false =false; // 与 && 逻辑运算符
    var_dump($true && $true);
    var_dump($true && $false);
    var_dump($false && $false); ?> 结果:bool(true) bool(false) bool(false)

    php--&&-与

     <?php
    
         $true = true;
    $false =false; // 或 || 逻辑运算符
    var_dump($true || $true);
    var_dump($true || $false);
    var_dump($false || $false); ?> 结果: bool(true) bool(true) bool(false)

    php--||-或

     <?php
    
         $true = true;
    $false =false; // 非 ! 逻辑运算符
    var_dump(!$true);
    var_dump(!$false); ?> 结果: bool(false) bool(true)

    php--!-非

  4. 比较运算符
     <?php
    
         $num1 ="10";
    $num2 =10; // 两个变量的值 是否相同
    var_dump($num1==$num2); $num3 =10;
    $num4=10; // 两个变量的值 是否相同
    var_dump($num3==$num4);
    ?> 结果: bool(true) bool(true)

    php--==-两个变量的值是否相同

     <?php
    
         $num1 ="10";
    $num2 =10; // 两个变量的值、类型 是否相同
    var_dump($num1===$num2); $num3 =10;
    $num4=10; // 两个变量的值、类型 是否相同
    var_dump($num3===$num4);
    ?> 结果: bool(false) bool(true)

    php--===-两个变量的值、类型是否相同

     <?php
    
         $num1 =65;
    $num2 =10; // 左边的类型 是否大于 右边的类型
    var_dump($num1>$num2); ?> 结果 : bool(true)

    php-->-左边的类型是否大于右边的类型

     <?php
    
         $num1 =65;
    $num2 =10; // 左边的类型 是否小于 右边的类型
    var_dump($num1<$num2); ?> 结果 : bool(false)

    php--<-左边的类型是否小于右边的类型

     <?php
    
         $num1 =60;
    $num2 =10; // 左边 是否大于等于 右边
    var_dump($num1>=$num2); ?> 结果: bool(true)

    php-->=-左边是否大于等于右边

     <?php
    
         $num1 =60;
    $num2 =10; // 左边 是否小于等于 右边
    var_dump($num1<=$num2); ?> 结果: bool(false)

    php--<=-左边是否小于等于右边

     <?php
    
         $num1 ="10";
    $num2 =10; // 左边的值 是否不等于 右边的值
    var_dump($num1!=$num2); ?> 结果 : bool(false)

    php--!=左边的值是否不等于右边的值

     <?php
    
         $num1 ="10";
    $num2 =10; // 左边的类型 是否不等于 右边的类型
    var_dump($num1!==$num2); ?> 结果: bool(true)

    php--!==-左边的类型是否不等于右边的类型

  5. 错误抑制符
    1. 作用:将错误的内容,不提示出来
    2. 符号:@
    3. 用法:在引发错误的语句中,语句前加入@
    4. 效果:错误提示,不会显示到浏览器中
    5. 例子:

  6. 三元运算符
    1. 作用:判断语句,满足条件,就选择1;不满足条件,就选择2
    2. 符号: ? :
    3. 用法: 判断语句 ? 第一种结果:第二种结果
    4. 替代:可以替代简单的if/else
    5. 例子
  7. 自操作运算符
    1. 作用:自己操作自己的运算符
    2. 符号:
      1. 前置   ++   --
        1. 例子   ++num     --num  
      2. 后置   ++   --
        1. 例子   num++     num--
    3. 用途:循环语句,进行次数变化、变量增减    
    4. 例子
       <?php
      
           $num1=10;
      $num2=10;
      $num3=10;
      $num4=10; //前置 ++
      echo ++$num1." ";
      echo ++$num1."<br/>"; //后置 ++
      echo $num2++." ";
      echo $num2++."<br/>"; //前置 --
      echo --$num3." ";
      echo --$num3."<br/>"; //后置 --
      echo $num4--." ";
      echo $num4--." "; ?> 结果:
      11 12
      10 11
      9 8
      10 9

      php--自操作运算符

  8. 字符串连接符
    1. 作用:连接字符串
    2. 符号: .   .=
      1. .   : 一个点将左边与右边连接在一起
      2. .= : 一个点将左边与右边连接在一起,并把结果赋值给左边  
    3. 例子
       <?php
      
           $str1 ="You are ";
      $str2 ="sows"; echo $str1.$str2; ?>

      php--字符串的连接符

       <?php
      
           $str1 ="You are ";
      $str2 ="sows"; //用一个点,$str1与$str2连接在一起
      $sum = $str1.$str2;
      echo $sum;
      echo "<br />";
      echo $str1;
      echo "<hr />"; //用 .= , $str1与str2连接在一起,并将结果赋给$str1
      $str1.=$str2;
      echo $str1;
      ?> 结果:
      You are sows
      You are
      --------------------------------------------
      You are sows

      php--.=-左边与右边连接在一起,并赋给左边

  9. 位运算符
    1. 作用:对系统硬盘上存储的位进行操作(实际操作是字节为单位),位运算在计算过程中,每个位的操作返回结果都是1或者0 
    2. 符号:&、|、~、^、>>、<<
      1. & : 按位与 ,表示两个位都为1时,则返回1,否则返回0
        1. 例子: 1&1 --> 1   1&0-->0
      2. | :按位或 ,表示两个位中至少一个是1时,则返回1,否则返回0
        1. 例子: 1|0 --> 1
      3. ~:按位非(反码) ,表示一个十进制的数用二进制表示,然后0变1,1变0,再转化成十进制的数字 
        1. 例子: ~0 --> -1    ~-1 --> 0
                ~1 --> -2    ~-2 --> 1
                    ~2 --> -3    ~-3 --> 2
                    ~3 --> -4    ~-4 --> 3
      4. ^: 按位异或,表示两个位的值不同时,则返回1,否则返回0
        1. 例子:1^0 -->1      1^1 -->0    0^0 -->1
      5. <<:按位左移,表示将整个字节向左移动,右边空出来的位用0补充
        1. 规则:a<<b
        2. 结果:a*(2的b次方)
      6. >>:按位右移,表示将整个字节向右移动,左边空出来的位用0补充
        1. 规则:a>>b
        2. 结果:a/(2的b次方) 
    1. 数值在系统内部(磁盘上的存储)
      1. 0: 0000 0000
      2. -0:1000 0000
    2. 系统在存储的时候,不是按照原来的二进制直接存储,而是进行转化后的补码形式进行存储
      1. 原码:一个十进制数转化成二进制数
      2. 反码:将原码按位取反,得到的二进制数
      3. 补码:在反码基础上加1,得到的二进制数
      4. 注意:正数的原码=反码=补码
    3. 例子
      1. //二进制的最左边的位:0表示正数
        1
        原码:0000 0000 0000 0001
        反码:0000 0000 0000 0001
        补码:0000 0000 0000 0001

        //二进制的最左边的位:1表示负数
        -1   
        原码:1000 0000 0000 0001
        反码:0111 1111 1111 1110
        补码:0111 1111 1111 1111

PHP代码的执行原理

  1. PHP有一种专门来解释PHP语言的工具,叫做Zend引擎(zend引擎

  

  2. 当php代码是嵌入到html代码中的时候的工作原理

流程控制

  表达式:凡是有值返回的结构(语句)都可以称之为表达式

    1.   所有的值本身都可以是表达式
    2.   所有的运算符运算的结果也都是表达式

  顺序结构    

    代码从上到下的顺序执行

      例如:$a = 34;

         $b = 64;

         $sum = $a + $b;

  分支结构

     根据某种条件,来选择顺序的执行。代码间存在互斥性,以使代码间的执行,需要分情况处理

     符号: if-else  if-elseif   switch

     1.提问: if-else 与 if-elseif 有什么区别

    

  循环结构

    在有限次数内,重复运行相同的代码块

    符号:while   do-while   for  foreash  

    例子:

 <?php
for($i=1; $i<10; ++$i){
for($j=1; $j<=$i; ++$j){
echo $i*$j."\t";
}
echo "<br />";
}
?> 结果
1
2 4
3 6 9
4 8 12 16
5 10 15 20 25
6 12 18 24 30 36
7 14 21 28 35 42 49
8 16 24 32 40 48 56 64
9 18 27 36 45 54 63 72 81

php-乘法表

函数

  1.定义:一堆代码放在一起,让函数能够解决某种问题

  2.类型:系统函数(直接调用)、自定义函数(程序员编写出来后,方可调用)

  3.语法:

    function 函数名(参数列表){

      //函数体

      //返回值

    }

  4.调用函数的方式:调用自定义函数与系统函数的方式相同

  5.变量=函数名(参数列表)  //当函数有返回值的情况,方可将函数的返回值赋值给变量

     函数名(参数列表) //函数没有返回值的情况,直接使用函数即可,参数列表由函数当前的位置周边获取

  6.函数:不区分大小分

    函数命名:有两种方式

    1. 驼峰法

    2.小写英文+下划线

  7.例子

 <?php

     function sows($row,$col)
{
for($i=1; $i<$row; ++$i){
for($j=1; $j<=$i&&$j<=$col; ++$j){
echo $i * $j ."\t";
}
echo "<br />";
} } $row =20;
$col = 9; sows($row,$col); ?> 结果
1
2 4
3 6 9
4 8 12 16
5 10 15 20 25
6 12 18 24 30 36
7 14 21 28 35 42 49
8 16 24 32 40 48 56 64
9 18 27 36 45 54 63 72 81
10 20 30 40 50 60 70 80 90
11 22 33 44 55 66 77 88 99
12 24 36 48 60 72 84 96 108
13 26 39 52 65 78 91 104 117
14 28 42 56 70 84 98 112 126
15 30 45 60 75 90 105 120 135
16 32 48 64 80 96 112 128 144
17 34 51 68 85 102 119 136 153
18 36 54 72 90 108 126 144 162
19 38 57 76 95 114 133 152 171

php--使用函数来实现数学乘法表

作用域

  1.函数外的变量,无法直接在函数内使用

  2.函数若要使用函数外的变量,

    1.可以使用函数名的参数列表来引用

    2.使用系统函数来实现

    

 <?php

     $number = 1000;

     function sows()
{
//使用系统的函数,来调用函数外的变量
echo $GLOBALS['number']; //使用调用函数外的变量
echo $number;
} sows(); echo $number;
?> 结果 1000 //调用系统函数实现
//使用调用函数外的变量,没有结果返回
1000 //输出$number的值,

php-函数外的变量与函数内的变量的区别

  3.PHP提供一个关键字:global

    1.global是将全局作用域的变量的地址,进行变量,然后在局部作用域内新建一个同名的变量名,将外部的地址赋值给局部变量

    2.语法:global 变量名;

      变量名 = 值;

    

【风马一族_php】PHP运算的更多相关文章

  1. 【风马一族_php】数组函数

    原文来自:http://www.cnblogs.com/sows/p/6045699.html (博客园的)风马一族 侵犯版本,后果自负  2016-11-09 15:56:26 数组 函数 php- ...

  2. 【风马一族_php】NO5_php基础知识_数组

    原文来自:http://www.cnblogs.com/sows/p/6032570.html (博客园的)风马一族 侵犯版本,后果自负 回顾 匿名函数 定义: 变量 = function [参数列表 ...

  3. 【风马一族_php】NO4_php基础知识

    原文来自:http://www.cnblogs.com/sows/p/6017018.html(博客园的)风马一族 侵犯版本,后果自负 回顾 运算符:算术运算符.逻辑运算符.比较运算符.位运算符.赋值 ...

  4. 【风马一族_php】NO3_php基础知识

    原文来自:http://www.cnblogs.com/sows/p/6001079.html(博客园的)风马一族 侵犯版本,后果自负 回顾 PHP基础语法 1.标签:<?php //PHP 代 ...

  5. 【风马一族_php】NO1_用php发出一声 Hi

    原文来自:http://www.cnblogs.com/sows/p/5990157.html  (博客园的)风马一族 侵犯版本,后果自负 第一步 安装WEB服务器 http://www.cnblog ...

  6. 【风马一族_php】NO0_搭建web服务器

    原文来自:http://www.cnblogs.com/sows/p/5977996.html  (博客园的)风马一族 侵犯版本,后果自负 安装apache apache是一种B/S结构的软件,apa ...

  7. 【风马一族_php】

    原文来自:http://www.cnblogs.com/sows/p/6054383.html  (博客园的)风马一族 侵犯版本,后果自负 2016-11-11   15:13:51 回顾 数组:分配 ...

  8. 【风马一族_php】NO2_php基础知识

    原文来自:http://www.cnblogs.com/sows/p/5995763.html (博客园的)风马一族 侵犯版本,后果自负 回顾 什么是php以及php的发展史 搭建web服务器 apa ...

  9. 【风马一族_php】PHP与Mysql建立连接

    让php发出 Hi作为基础 http://www.cnblogs.com/sows/p/5990157.html 配置apache      ../apache/conf/httpd.conf 创建p ...

随机推荐

  1. SpringMvc项目加载顺序及上下文小结

    前言: 使用springMvc已经三年了,但是内部原来一直不太了解,看到ServletConetxt和ApplicationContext头就大,趁着这几天学习,正好学习下相关的知识. 1.Servl ...

  2. 原生JS制作验证码(优化)

    <!doctype html> <html> <head> <meta charset="utf-8"> <title> ...

  3. Ajax和json一道基本的练习题

    关于ajax是javaEE中最基本的操作: 下面是这道题: 基本功能: jsp+servlet+ajax实现用户信息查询,实现无刷新删除 用户信息包括 学号 姓名 出生日期 性别 操作 2017010 ...

  4. JasperReport报表设计4

    在JRXML模板(或JRXML文件)中的JasperReport 都是标准的 XML文件,以.JRXML扩展.所有JRXML文件包含标签<jasperReport>,作为根元素.这反过来又 ...

  5. tensorflow使用CPU可以跑(运行),但是使用GPU却不能用的情况

    在跑的时候可以让加些选项: with tf.Session(config=tf.ConfigProto(allow_soft_placement=True, log_device_placement= ...

  6. SSM10-Redis持久化和集群的搭建

    1.1. Redis集群的搭建 Redis集群中至少应该有三个节点.要保证集群的高可用,需要每个节点有一个备份机. Redis集群至少需要6台服务器. 搭建伪分布式.可以使用一台虚拟机运行6个redi ...

  7. mac 将本地文件上传到vps

    打开mac终端 假设通过ssh连接远程vps命令为. ssh root@194.10.10.23 -p92322 (说明:92322表示端口号,一般vps端口号默认是22) 那么复制本地文件到终端的命 ...

  8. Objective-C头文件导出工具class-dump

    首先,这个工具是开源的.作者网站:http://stevenygard.com/projects/class-dump/ 用途: 分析库文件或可执行文件,得到Objective-C类和部分C结构体的信 ...

  9. Python之路,Day3- Python基础(转载Alex)

    本节内容 1. 函数基本语法及特性 2. 参数与局部变量 3. 返回值 嵌套函数 4.递归 5.匿名函数 6.函数式编程介绍 7.高阶函数 8.内置函数 温故知新 1. 集合 主要作用: 去重 关系测 ...

  10. python学生管理系统

    import osimport re #获取本机用户名,构建student.txt文件名创建在左面import getpassusername=getpass.getuser()print(" ...