我的php学习第二十六天——PHP基础语法

PHP基础语法

在PHP程序中,变量和常量是经常用到的

PHP是操作数据,数据在静态的时候是放到文件或者数据库中,当程序操作数据的时候,数据是以变量或者常量的形式存在于内存。

在真实的项目环境中,只有数据操作是不够的。还应该有很多业务逻辑,就是对数据进行判断。体现在程序中就是各种表达式。

表达式:凡是有返回值的语句都称之为表达式

$a = 10;

$a > 10;

Php中运算符有:算术运算符,逻辑运算符,比较运算符,赋值运算符,位运算符,三元运算符,错误抑制符,连接运算符,自操作运算符

算术运算符:+,-,*,/,%

算术运算符是用来进行简单的数学计算的。

image002

模运算的原理:取余运算,获得两个数相除之后的余数。

错误抑制符:@,表示抑制错误的输出,示例在上图

赋值运算符:=,+=,-=,*=,/=,%=,.=

赋值运算符是改变变量的值,是将运算符右边的结果赋值给左边。

image004

+=,-=,*=,/=,%=

$a += 1; <============> $a = $a + 1;

image006

注意:/=后面不能跟0

image008

逻辑运算符

指的是当多个条件并存的时候,找出其中一些关联。将多个条件一起参与运算的时候,就需要使用逻辑运算符。

逻辑运算符:&&,||,!

$a = true;

$b = false;

&&:表示且的意思,$a && $b,需要a和b同时为真的时候结果才为真,其中如果有任意一个不为真则结果假

||:表示或的意思,$a || $b,表示a和b中只要有一个结果为真,那么整个结果则为真,a和b同时为假的时候才返回假

!:逻辑非,表示对一个布尔结果取反,!$a,表示,如果a为真,则最终结果是假,如果a为假,则整个结果为真

image010

逻辑运算符又称之为短路运算符

如果在第一个条件已经能够判断最终结果的情况下,不会在向下去判断其他的元素。

$a = true;

$b = false;

Var_dump($a && $b);//从左往右判断整个表达式,先判断$a,是true但是不能代表整个表达式的结果,所以还需要继续判断,判断$b,为false,所以整个结果为false

Var_dump($a || $b);//先判断$a,true,这个时候因为是或运算,只要其中有一个为true,那么整个结果为true,所以当第一个条件为true的时候,已经可以得到整个表达式的结果,所以不需要判断$b,直接返回true

&&可以使用and

||可以使用or

在PHP中大部分使用逻辑运算符的时候,使用是符号,而不是单词;而在mysql中大部分的时候使用的是单词而不是符号

image012

比较运算符

比较运算符是用来判断多个值之间的关系

比较运算符:>,>=,<,<=,==,===,!=,!==

<,<=,>,>=,==,!=,通常是用来比较大小的

===,!==,用来比较类型

image014

注意:

  1. 在进行比较的时候,系统会对数据进行自动转换(字符串与数值进行比较的时候,会将字符串转换成数值之后,再进行比较)
  2. ===不单要求值大小一致,要求值对应的数据类型完全一致。

连接运算符

将两个或者多个数据进行连接,指的是字符串的拼接

连接运算符只有一个:.

$a = ‘abc’;

$b = ‘ok’;

$c = $a . $b;     //将a变量的值与b变量的值先进行连接,然后再赋值给c变量

字符串的赋值运算

$a .= $b;

$a = $a . $b;

先运算$a . $b = ‘abc’ . ‘ok’ = ‘abcok’;

再赋值$a = ‘abcok’;

注意:使用.号的时候,不论之前变量的类型是什么,都会最终变成字符类型。

image016

自操作运算符

自己操作自己的运算符

自操作运算符:++,--

++:自己对自己+1

--:自己对自己-1

image020

自操作运算符分为两类:前置自操作,后置自操作

$a = 10;

$a++;        //后置自操作

++$a;        //前置自操作

image020

$a = 10;

$d = 10;

$b = ++$a; //$a = $a + 1;$b = $a;

$c = $d++; //$c = $d;$d = $d + 1;

前置++:先对变量本身进行自加1运算,然后再将整个值赋值给其他变量

后置++:先将变量本身的值赋值给其他变量,然后再对自己进行+1运算

image022

后置自操作原理

$a = 10;

$b = $a++;

等价于

$b = $a;          //1             实际上是2

$a = $a + 1;   //2            实际上是1

原因:++运算符的优先级比 = 高

image024

自操作运算符,通常用到循环变量的控制

For($i = 0;$i < 10;$i++);while($i < 100){++$i;}

 

有兴趣

$a = 10;

$b = &$a;

$b = $a++ + $a++’

$c = ++$a + ++$a;

三元运算符

也叫三目运算,是因为参与运算的表达式有三个。

语法:$a ? $b : $c

如果$a为真,则执行$b

如果$a为假,则执行$c

image026

三元运算符完全可以使用if else替代,所以说三目运算是对简单的if else的一个简化

image028

位运算符

电脑最小单位是位,bit

一个字节有8个bit

 

所有的数据存储在电脑里,都是以二进制存在

$a = 2;      //整型,占四个字节

十进制转二进制

image030

数据在电脑内存里的二进制表示

image032

位运算指对具体内存的具体位进行操作。

位运算符:&,|,~,^,<<,>>

&:按位与,当两个位的值同时为1的时候,结果才为1,否则结果为0

00010001         17

&

11111110         254

=

00010000    16

|:按位或,当两个位的值只要有一个为1的时候,结果就是1,否则为0

00010001         17

|

11111110         254

=

11111111    255

~:按位取反,指的是如果当前位为0,则变成1,如果是1则变成0

00010001         17

~

11101110         238

 

有符号和无符号:PHP中默认的整型都是有符号类型,系统会在整数的第一位当做符号位,其中0表示整数,1表示负数

原码反码补码

image034

系统为了解决正0和负0不一致的情况,所以设计了原码反码补码

 

原码:指的是将一个数值按照其符号转变成的二进制码

2                00000010

-2               10000010

正负数的原码区别在于符号位的不同

反码:指的是将符号位除外,其他的位取反得到的结果

正数的原码和反码一致

2                00000010

-2               111111101

 

补码:指的是在反码的基础上+1

正数的原码,反码,补码都是一致的

2                00000010

-2       111111110

 

 

注意:

  1. 正数在内存里的存储结构就是其二进制对应的编码
  2. 负数在内存里存储结构对应的是负数的补码

image036

正2取反的结果是-3

image038

  1. 正数原码反码补码一致,只要从二进制转化成十进制即可
  2. 负数的保存形式是补码,如果要得到负数的结果,需要把补码转化成原码之后,再进行二进制转十进制(符号位除外)

 

系统保存正负数的最大值区别

image040

^:按位异或,如果两位不一样则返回1,如果两位一样就返回0

00010001         17

^

11111110         254

=

11101111

image042

<<:左移运算,将内存对应的位向左移动一位,右边补0,每次左移使得结果乘以2

00010001         17

<<

00100010         34

image044

>>:右移运算,将内存赌赢的位向右移动一位,左边补0,每次右移是的结果除2;

00010001         17

>>

00001000         8

image046

Heredoc对应双引号

$str = <<< EOT

//内容

//能够解析变量

EOT;

 

Nowdoc对应单引号

$str = <<< ‘EOT’

//内容

//不能解析变量

EOT;

本文来自投稿,不代表重蔚自留地立场,如若转载,请注明出处https://www.cwhello.com/2099.html

如有侵犯您的合法权益请发邮件951076433@qq.com联系删除

(0)
重蔚重蔚管理团队
上一篇 2017年5月2日 22:48
下一篇 2017年5月3日 09:42

相关推荐

  • PHP中如何使用Memcache缓存技术对于爬虫进行优化。

    随着互联网技术的发展,网络爬虫越来越被用于数据挖掘、搜索引擎等领域。而大规模的数据采集和处理不仅需要更高效的爬虫算法,同时需要优化处理数据的速度和减少资源消耗。在这个过程中,缓存技术发挥了重要作用,…

    2023年5月21日
    03
  • 小编教你学php什么时候学二次开发比较好。

    学习PHP二次开发的最佳时机 在当今这个高度信息化的社会,互联网已经成为了我们生活中不可或缺的一部分,而作为互联网的基石,Web开发技术也变得越来越重要,PHP作为一种广泛应用的服务器端脚本语言,因其简单易学…

    2024年7月3日
    01
  • 小编分享.net和php哪个好,net和php哪个好。

    在当今的互联网开发领域,.NET和PHP是两种非常流行的编程语言,它们各自具有独特的优势和特点,因此在选择时需要根据项目需求和个人喜好来决定,本文将从多个方面对.NET和PHP进行比较,以帮助您更好地了解这两种技…

    2024年6月30日
    00
  • php工厂方法模式是什么

    推荐:《PHP教程》引言所属:创建型模式,常用设计模式之一工厂模式分为:简单工厂模式、工厂方法模式、静态工厂模式、抽象工厂模式。下面为工厂方法模式。模式概述工厂方法就是为了解决简单工厂扩展性的问题,相信…

    2022年6月12日
    0128
  • PHP8中的新函数:array_key_last()的实用技巧。

    PHP是世界上最受欢迎的编程语言之一,它的实用性和易用性让它成为了许多程序员的首选。在最新发布的PHP8中,引入了一些新的函数和特性,其中一个特别值得关注的新函数是array_key_last()。这个函数的实用技巧在本文…

    2023年5月21日
    02
  • PHP实现邮件验证功能时的常见误解和问题。

    PHP实现邮件验证功能时的常见误解和问题随着互联网的不断发展和普及,电子邮件已经成为人们日常生活和工作中不可缺少的一部分。为了保障用户账号的安全性和可靠性,很多网站和应用都会实现邮件验证功能。作为一名PH…

    2023年5月23日
    02
  • 如何在PHP中实现验证码。

    随着互联网的不断发展,越来越多的网站需要使用验证码来保证安全性。验证码是一种借助人类能力而无法被计算机破解的认证技术,广泛应用于网站注册、登录、找回密码等功能中。下面将介绍如何使用PHP实现验证码功能。…

    2023年5月22日
    02
  • php基本环境

    运行环境 保证能够运行php: 测试:echo “abc”; 保证时区设置正确: 测试:echo date(“Y-m-d H:i:s”); 保证模块设置正确: 测试:mysql_connect(“localhost”, ‘root’, ‘123’); 语法环境 有多种嵌入到html代码中的ph…

    2017年10月31日
    0183

联系我们

QQ:951076433

在线咨询:点击这里给我发消息邮件:951076433@qq.com工作时间:周一至周五,9:30-18:30,节假日休息