关于PHP运算符的一点疑惑
我在手册上看见的是
&& 与 $x && $y 如果 $x 和 $y 都为 true,则返回 true。|| 或 $x || $y 如果 $x 和 $y 至少有一个为 true,则返回 true。
但是为什么我常常看好多的php文件 包括知名的开源程序的 都是用的反的??
比如删除某个信息的条件判断代码 都是
是管理员 && 是发布者 这样的格式?从手册上来讲 这样的含义是 删除信息的条件既是管理员又是发布者
真搞不懂 怎么回事 难道手册上有误?
回复讨论(解决方案)
你怎么知道你不是断章取义了呢
逻辑运算符的 用法 手册上没什么问题呢.
至于你举得例子 你确定是你说的意思吗?
你要举例说你在哪里看到了,粘帖代码让大家看一下
你要举例说你在哪里看到了,粘帖代码让大家看一下
比如知名开源论坛 discuz 的一个文件
if(!defined('IN_DISCUZ') || !defined('IN_ADMINCP')) { exit('Access Denied');}
很明显 意思就是必须在discuz内部 并且还要在admin管理 页面才能运行。
大家不信的话 可以在discuz 里面看看相关的php文件 大跌眼镜
php不会有自定义运算符的功能吧
应该不会有反着用的~
又比如 我要判断2个表单是否都填写
if(empty($_POST['a']) || empty($_POST['b'])){
这样才能是2个表单缺一不可,都则不能发布
用php手册上的
if(empty($_POST['a']) && empty($_POST['b'])){
只要填写1项 就可以发布了
已亲测!
对不起 上面掉了个括号 呵呵 大家明白这个意思就行了
又比如 我要判断2个表单是否都填写
if(empty($_POST['a']) || empty($_POST['b'])){
这样才能是2个表单缺一不可,都则不能发布
用php手册上的
if(empty($_POST['a']) && empty($_POST['b'])){
只要填写1项 就可以发布了
已亲测!
你下面的代码都没写全,我们怎么知道是不是反的?
况且你怎么确定原来作者的思路不是这样的?
if(empty($_POST['a']) || empty($_POST['b']))
表述的是只要 $_POST['a'] 和 $_POST['b'] 中有一个为空(当然包括两个都为空)表达式就成立
if(empty($_POST['a']) && empty($_POST['b']))
表述的是有 $_POST['a'] 和 $_POST['b'] 两个都为空,表达式才成立
显然两者是不同的,虽然都有 两个都为空 的表述
你得根据你的业务需要选择符合要求的表达式
又比如 我要判断2个表单是否都填写
if(empty($_POST['a']) || empty($_POST['b'])){
这样才能是2个表单缺一不可,都则不能发布
用php手册上的
if(empty($_POST['a']) && empty($_POST['b'])){
只要填写1项 就可以发布了
已亲测!
你下面的代码都没写全,我们怎么知道是不是反的?
况且你怎么确定原来作者的思路不是这样的?
真服了你们了 我意思就是
if(empty($_POST['a'])) || empty($_POST['b'])){ echo "对不起 表格填写不全";}else{ echo "发布成功";}
这种类型的代码 在discuz中 被认为是 a表单和b表单 必须全部填写才能发布
而
if(empty($_POST['a'])) && empty($_POST['b'])){ echo "对不起 表格填写不全";}else{ echo "发布成功";}
则认为是 至少填写1个 就可以发布了
我也感觉奇怪 所以讨论的 。。。。。。。
你自己的逻辑问题:你认为 c=a&&b; 与 !a或!b =c 相等?
if(!defined('IN_DISCUZ') || !defined('IN_ADMINCP')) {
exit('Access Denied');
}
意思是只要其中一个不满足就退出,判断的范围要宽一些,如 桌子是四方的->桌子是四方桌,
而 或 则可以看成是:不是四方的或不是桌子不满足四方桌。个人认为或用来判断更有效率。
这个是表示,a为空或b为空都显示表格填写不全
if(empty($_POST['a'])) || empty($_POST['b'])){
echo "对不起 表格填写不全";
}else{
echo "发布成功";
}
这个是表示 a和b同时为空才显示表格填写不全
if(empty($_POST['a'])) && empty($_POST['b'])){
echo "对不起 表格填写不全";
}else{
echo "发布成功";
}
逻辑上两个就不同了,不明白为什么楼主觉得有问题呢,这些是按需求来做的吧。

Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

AI Hentai Generator
Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen

Lange URLs, die oft mit Schlüsselwörtern und Tracking -Parametern überfüllt sind, können Besucher abschrecken. Ein URL -Verkürzungsskript bietet eine Lösung, die präzise Links erstellt, die ideal für soziale Medien und andere Plattformen sind. Diese Skripte sind für einzelne Websites a wertvoll

Nach seiner hochkarätigen Akquisition durch Facebook im Jahr 2012 nahm Instagram zwei APIs für den Einsatz von Drittanbietern ein. Dies sind die Instagram -Graph -API und die Instagram Basic Display -API. Ein Entwickler, der eine App erstellt, die Informationen von a benötigt

Laravel vereinfacht die Behandlung von temporären Sitzungsdaten mithilfe seiner intuitiven Flash -Methoden. Dies ist perfekt zum Anzeigen von kurzen Nachrichten, Warnungen oder Benachrichtigungen in Ihrer Anwendung. Die Daten bestehen nur für die nachfolgende Anfrage standardmäßig: $ Anfrage-

Dies ist der zweite und letzte Teil der Serie zum Aufbau einer Reaktionsanwendung mit einem Laravel-Back-End. Im ersten Teil der Serie haben wir eine erholsame API erstellt, die Laravel für eine grundlegende Produktlistenanwendung unter Verwendung von Laravel erstellt hat. In diesem Tutorial werden wir Dev sein

Laravel bietet eine kurze HTTP -Antwortsimulationssyntax und vereinfache HTTP -Interaktionstests. Dieser Ansatz reduziert die Code -Redundanz erheblich, während Ihre Testsimulation intuitiver wird. Die grundlegende Implementierung bietet eine Vielzahl von Verknüpfungen zum Antworttyp: Verwenden Sie Illuminate \ Support \ facades \ http; Http :: fake ([ 'Google.com' => 'Hallo Welt',, 'github.com' => ['foo' => 'bar'], 'Forge.laravel.com' =>

Die PHP Client -URL -Erweiterung (CURL) ist ein leistungsstarkes Tool für Entwickler, das eine nahtlose Interaktion mit Remote -Servern und REST -APIs ermöglicht. Durch die Nutzung von Libcurl, einer angesehenen Bibliothek mit Multi-Protokoll-Dateien, erleichtert PHP Curl effiziente Execu

Möchten Sie den dringlichsten Problemen Ihrer Kunden in Echtzeit und Sofortlösungen anbieten? Mit Live-Chat können Sie Echtzeitgespräche mit Kunden führen und ihre Probleme sofort lösen. Sie ermöglichen es Ihnen, Ihrem Brauch einen schnelleren Service zu bieten

Die 2025 PHP Landscape Survey untersucht die aktuellen PHP -Entwicklungstrends. Es untersucht Framework -Nutzung, Bereitstellungsmethoden und Herausforderungen, die darauf abzielen, Entwicklern und Unternehmen Einblicke zu geben. Die Umfrage erwartet das Wachstum der modernen PHP -Versio
