php中运算符使用方法总结_PHP教程
算术运算符
1、算术运算符:+、-、*、/、%。
2、递增/递减运算符:如$a++,$a--,++$a,--$a.
如:
代码如下 | 复制代码 |
$a=10;
$a=10; |
三元运算符
(expr1) ? (expr2) : (expr3);
解释:如果条件“expr1”成立,则执行语句“expr2”,否则执行“expr3”。
以下语句的语法是正确的,它们以小解引号的方式忽略了第二或第三“元”:
代码如下 | 复制代码 |
$a>$b ? print "Yes" : ""; $a>$b ? '': print 'No'; |
应该注意的是:在使用三元运算符时,建议使用print语句替代echo语句。
注意下列一串语句的理解:
代码如下 | 复制代码 |
$str = $_GET['abc'] ? 'wangjinbo' : 'wjb'; |
这里不能理解为:当$str等于$_GET['abc'] 时,赋值为 'wangjinbo' 否则赋值为 'wjb';因为一:判断相等应该用==;因原二:三元算符的语法是如上所示:(expr1) ? (expr2) : (expr3),显然上面的二元,三元'wangjinbo'或'wjb'不能单独构成一个有意义的表达式;
正确理解是:当$_GET['abc']为空(也就是否,PHP中 '',null,0,undifine,都等效布尔值false)时,将$str赋值为'wangjinbo',否则赋值为'wjb';
逻辑运算符:
如:
代码如下 | 复制代码 |
$a=10;$b=7; 改变一下 $a=10;$b=7; |
细节:and && 都表示逻辑与 ,他们的区别在什么地方?
主要体现在优先级上面
and 的优先级
代码如下 | 复制代码 |
and
or
如: $a=false || true; //&& > = > and ;先比较false || true,再赋值 $b=false or true; //|| > = > or ;先赋值$b=false,再比较,所以结果是false var_dump($a,$b); //bool(true) bool(false) |
位运算符
位移在 PHP 中是数学运算。向任何方向移出去的位都被丢弃。左移时右侧以零填充,符号位被移走意味着正负号不被保留。右移时左侧以符号位填充,意味着正负号被保留。
要用括号确保想要的优先级。例如 $a & $b == true 先进行比较再进行按位与;而 ($a & $b) == true 则先进行按位与再进行比较。
要注意数据类型的转换。如果左右参数都是字符串,则位运算符将对字符的 ASCII 值进行操作。
PHP 的 ini 设定 error_reporting 使用了按位的值,
提供了关闭某个位的真实例子。要显示除了提示级别
之外的所有错误,php.ini 中是这样用的:
E_ALL & ~E_NOTICE
具体运作方式是先取得 E_ALL 的值:
00000000000000000111011111111111
再取得 E_NOTICE 的值:
00000000000000000000000000001000
然后通过 ~ 将其取反:
11111111111111111111111111110111
最后再用按位与 AND(&)得到两个值中都设定了(为 1)的位:
00000000000000000111011111110111
另外一个方法是用按位异或 XOR(^)来取得只在
其中一个值中设定了的位:
E_ALL ^ E_NOTICE
error_reporting 也可用来演示怎样置位。只显示错误和可恢复
错误的方法是:
E_ERROR | E_RECOVERABLE_ERROR
也就是将 E_ERROR
00000000000000000000000000000001
和 E_RECOVERABLE_ERROR
00000000000000000001000000000000
用按位或 OR(|)运算符来取得在任何一个值中被置位的结果:
00000000000000000001000000000001
Example #1 整数的 AND,OR 和 XOR 位运算符
代码如下 | 复制代码 |
/* $format = '(%1$2d = %1$04b) = (%2$2d = %2$04b)' echo
--------- --------- -- ---------
$values = array(0, 1, 2, 4, 8); echo "n Bitwise AND n"; echo "n Bitwise Inclusive OR n"; echo "n Bitwise Exclusive OR (XOR) n"; --------- --------- -- --------- Bitwise Inclusive OR Bitwise Exclusive OR (XOR) |
比较运算符
如果比较一个数字和字符串或者比较涉及到数字内容的字符串,则字符串会被转换为数值并且比较按照数值来进行。此规则也适用于 switch 语句。当用 === 或 !== 进行比较时则不进行类型转换,因为此时类型和数值都要比对。
代码如下 | 复制代码 |
var_dump(0 == "a"); // 0 == 0 -> true switch ("a") {
|
对于多种类型,比较运算符根据下表比较(按顺序)。
运算数 1 类型 | 运算数 2 类型 | 结果 |
---|---|---|
null 或 string | string | 将 <font face="NSimsun">NULL</font> 转换为 "",进行数字或词汇比较 |
bool 或 null | 任何其它类型 | 转换为 bool,<font face="NSimsun">FALSE</font> <font face="NSimsun">TRUE</font>
|
object | object | 内置类可以定义自己的比较,不同类不能% |

핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

AI Hentai Generator
AI Hentai를 무료로 생성하십시오.

인기 기사

뜨거운 도구

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

뜨거운 주제











PHP 8.4는 상당한 양의 기능 중단 및 제거를 통해 몇 가지 새로운 기능, 보안 개선 및 성능 개선을 제공합니다. 이 가이드에서는 Ubuntu, Debian 또는 해당 파생 제품에서 PHP 8.4를 설치하거나 PHP 8.4로 업그레이드하는 방법을 설명합니다.

CakePHP는 PHP용 오픈 소스 프레임워크입니다. 이는 애플리케이션을 훨씬 쉽게 개발, 배포 및 유지 관리할 수 있도록 하기 위한 것입니다. CakePHP는 강력하고 이해하기 쉬운 MVC와 유사한 아키텍처를 기반으로 합니다. 모델, 뷰 및 컨트롤러 gu

CakePHP에 로그인하는 것은 매우 쉬운 작업입니다. 한 가지 기능만 사용하면 됩니다. cronjob과 같은 백그라운드 프로세스에 대해 오류, 예외, 사용자 활동, 사용자가 취한 조치를 기록할 수 있습니다. CakePHP에 데이터를 기록하는 것은 쉽습니다. log() 함수는 다음과 같습니다.

VS Code라고도 알려진 Visual Studio Code는 모든 주요 운영 체제에서 사용할 수 있는 무료 소스 코드 편집기 또는 통합 개발 환경(IDE)입니다. 다양한 프로그래밍 언어에 대한 대규모 확장 모음을 통해 VS Code는

CakePHP는 오픈 소스 MVC 프레임워크입니다. 이를 통해 애플리케이션 개발, 배포 및 유지 관리가 훨씬 쉬워집니다. CakePHP에는 가장 일반적인 작업의 과부하를 줄이기 위한 여러 라이브러리가 있습니다.
