【PHP学习之PHP运算符】教程文章相关的互联网学习教程文章

php – 三元运算符和if条件之间有区别吗?【代码】

三元运算符和php中的条件之间是否存在差异? 如果是,请提供.解决方法:三元运算符是一个运算符,因此它形成一个表达式.因此,它将具有一个值,您可以将其分配给变量或使用您想要的值.它用于简单的情况,其中变量可以根据条件采用两个可能的值. 例如:$status = $age> 18? ‘成人’:’孩子’; 尽管可能,you should not nest the ternary operator. 控制结构if是完全不同的东西.他们唯一的共同点就是评估一个条件(真/假). if用于根据该条...

PHP使用OR运算符检查多个值的值【代码】

我有一个文件名($fname),然后我需要将$pClass分配给文件类型,后面加上“ – ”.目前我总是得到文本 – 无论它是什么文件类型.//This gets the extention for the file and assigns the class to the icon <i> $pieces = explode('.', $fname); $ext = array_pop($pieces);if($ext == (('txt')||('rtf')||('log')||('docx'))){$pClass = 'text-'; } else if($ext == (('zip')||('sitx')||('7z')||('rar')||('gz'))){$pClass = 'arch...

PHP运算符的优先级【代码】

我读到了=优先级高于和 让我们说你得到了$boolone = true; $booltwo= false; $res = $boolone and $booltwo;我已经猜到这会因为$res = true而变为false而false则为true,false等于false.但由于=具有更高的优先级,它应该转为真.这是这样的($res = $boolone) and $booltwo;这返回true,但我的问题是为什么它返回true,不应该返回false?由于默认情况下$res = $booloneequals为true而$booltwois为false,所以我们有:true和false通常应该返...

PHP中的\u0026\u0026运算符

例: $this-> sql =&新的GuestBook_SQL; 它有什么作用?解决方法:此运算符正在分配参考. Here’s来自PHP手册的explenation

三元运算符不使用PHP中的引用变量【代码】

为什么这不起作用?$a = 'FOO';$foo = $a ? &$a : 'whatever'; // <- error hereecho $foo;我得到一个解析错误:|解决方法:如果要使用三元语句分配引用,则需要这种笨拙的解决方法:list($foo) = $a ? array(&$a) : array('whatever');但是,正如其他答案所述,这很少能节省内存.

php – 比较运算符【代码】

Reffer this link. 我知道操作数与字符串类型转换为数字,然后通常的数学 但请参阅以下示例代码:echo intval(1e1); // 10 var_dump("1e1" == 10); // true, and it's okecho intval(0x1A); // 26 var_dump("0x1A" == 26); // true, and it's okecho intval(042); // 34 var_dump("042" == 34); // fasle, Why ?!!!为什么上一个代码返回false.解决方法:这是因为PHP中的字符串到数字转换是基于一些古老的C函数 –...

php – 使用IF condtion与存储在变量中的比较运算符【代码】

我有一套涉及比较运算符的规则.我想根据存储在规则中的比较运算符的值来执行一些任务.我是按照以下方式进行的,但它无法正常工作.请检查以下代码if($benRules[$i]['amountCriteria']=='Greater than')$comparison='>'; if($benRules[$i]['amountCriteria']=='Equal to')$comparison='=='; if($benRules[$i]['amountCriteria']=='Less than')$comparison='<';if($value['1'].$comparison.$value[$i]['2']){debug('Condtion checked')...

PHP运算符if语句’和’和’或’【代码】

我有一个if语句,我想控制一个字段需要输入,他们必须选择其他2个选项之一.if(test1 && test || test3){ //Something here }我应该这样做:if(test1 && (test2 || test3)){ //do stuff }我该怎么做呢我无法绕过逻辑……解决方法: if ($requiredField && ($optional1 || $optional2)) {/* Do something */ }对于/ *执行某些* /位代码要执行,if语句必须求值为TRUE. 这意味着$requiredField必须为TRUE,因此必须是($optional1 || $option...

php – Laravel 5.使用USING运算符【代码】

我试图找到它很长一段时间,我无法相信Laravel没有这个功能. 所以,我可以写:select * from a join b where a.id = b.id或更美丽:select * from a join b using(id)Laravel的第一个案例很简单:$query->leftJoin('b', 'a.id', '=', 'b.id')但如何写第二个案例?我希望它应该简单而简短,如:$query->joinUsing('b', 'id')但是没有这样的方法,我找不到它. PS:答案可能很简单,很难找到“使用”这个词,因为它无处不在. UPDATE 我要更深...

php – 如何使用IN运算符和Yii2REST Web服务的GET请求【代码】

Yii2 REST Web服务的文档说明我们可以通过GET HTTP请求中通过URL传递的查询参数来过滤搜索到的集合. 来自doc:“另外,您可以对http://localhost/users?sort=email或http://localhost/users?sort=-email之类的集合进行排序.可以使用数据过滤器实现过滤集合,如http://localhost/users?filter[id]=10或http://localhost/users?filter[email][like]=gmail.com” 我的问题是如何在IN条件下使用查询参数? IN条件由框架的数据过滤器类支持...

javascript – PHP增量运算符在公式中返回错误的结果【代码】

参见英文答案 > Why does PHP evaluate $b and $b = $b differently when used with $b++ in array index 1个我在SoloLearn上玩挑战,我发现了这个:var x = 5; document.write(x * x++); // will output 25但如果我们在PHP中编写相同的东西:$x = 5; echo $x * $x++; // it will output 30!这是件事,不是吗? 那么普通程序员怎么能向他的奶奶解释这个呢?解决方法:原因是PHP中的Undefined orde...

php – 代码块的增量运算符和赋值运算符的预定义和关联性是什么【代码】

代码块的增量运算符和赋值运算符的预定义和关联性是什么$a=array(1,2,3); $b=array(4,5,6); $c=1;$a[$c++]=$b[$c++];print_r($a);根据执行它输出Array( [0] => 1[1] => 6[2] => 3)但是我无法理解array $a index 1如何保存数组$b index 2的值.任何人都可以解释执行情况的情景吗?解决方法:PHP(再次)与其他语言的不同之处在于,赋值的左侧部分首先进行求值.简单证明:$a[print 1] = $b[print 2]; // what does this print?根据http...

Laravel 5.2 – PHP 7.0.6合并运算符返回空字符串【代码】

所以我有一个依赖Laravel 5.2 / PHP 7.0.6的项目,它使用变形金刚来处理API响应.在我们代码中的许多地方,我们使用新的php 7 coalescing(??)运算符.但是,自从我们更新到php 7.0.6以来,我们看到了很多以下内容: 代码:’vip_id’=> $beneficiaryQdro-> beneficiary-> vip_id ?? “” 预期成果:11583(受益关系的贵宾身份) 实际结果: ” 我试过运行这个:dd($beneficiaryQdro-> beneficiary-> vip_id),我得到了正确的vip_id返回.但是...

为什么PHP的null合并运算符(??)不能处理具有不同可见性的类常量?【代码】

考虑下面的例子.类a具有私有const SOMETHING,但类b具有保护的const SOMETHING.class a {private const SOMETHING = 'This is a!';public static function outputSomething() {return static::SOMETHING ?? self::SOMETHING;} }class b extends a {protected const SOMETHING = 'This is b!'; }echo (new b())::outputSomething();输出:This is b!但是现在如果我在类b中注释掉SOMETHING的定义,则会抛出错误:class a {private cons...

php – 正则表达式帮助:如何匹配包含“或”运算符的正则表达式中的任一模式?【代码】

我正在使用php的preg_replace(). 基本上我有两种可能的字符串匹配: >你好真实世界>问候 这是我想要完成的事情: >你好< / span>真实世界>格力< / span> tings 规则解释:如果字符串包含空格,请插入< / span>在第一个空格字符之后.如果字符串不包含空格(单词),请插入< / span>在字符串的中间(/ – 如果奇数字符计数). 到目前为止,我已经提出了一个长期工作的解决方案:<?php $str = "Hello Real World"; echo preg_match("/ /", ...