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

PHP运算符优先级“未定义的评估顺序”?【代码】

http://www.php.net/manual/en/language.operators.precedence.php#example-115<?php $a = 1; echo $a + $a++; // may print either 2 or 3 ?>php手册中的例子并不能很好地解释.为什么不将$a计算为2,然后加到1,这样它总是变为echo 1 2 //等于3?我不明白它是如何“打印2或3”.我认为增量有“更高优先级”而不是添加? 换句话说,我不明白为什么不是……$a = 1;1) echo $a + $a++; 2) echo 1 + ($a = 1 + 1); 3) echo 1 + (2); 4) ec...

PHP DOM – 计运算符节点?【代码】

HTML代码段#1<div> </div> <div><h1>headline</h1> </div>HTML代码段#2<div></div> <div><h1>headline</h1></div>PHP代码$doc = new DOMDocument(); $doc->loadHTML($x); $xpath = new DOMXpath($doc); $divs = $xpath->query("//div");foreach ($divs as $div) echo $div->childNodes->length,"<br />";输出$x =片段#1 1 3 使用$x = snippet#2输出 0 1 看工作演示:http://codepad.viper-7.com/11BGge 我的问题 这怎...

PHP中的三元运算符和变量重新赋值【代码】

我已经仔细研究了三元运算符与if / else结构的问题,虽然我知道在正常情况下使用if / else结构的三元运算符没有性能损失/收益,但我没有看到任何提及情况. PHP特有的语言(但欢迎任何与语言无关的详细信息),解释器会在以下情况下重新分配值:$foo = 'bar' $foo = strlen($foo) > 3 ? substr($foo, 0, 3) : $foo;因为这将评估为$foo = $foo;这是效率低下,还是翻译只是忽略/放弃这个评估? 在旁注,那么:!defined('SECURE') ? exit : nu...

php – 具有$variable的LIKE运算符【代码】

这是我的第一个问题,我希望它很简单,快速回答! 基本上,我有以下代码:$variable = curPageURL(); $query = 'SELECT * FROM `tablename` WHERE `columnname` LIKE '$variable' ;如果我回显$变量,它会打印当前页面的url(这是我页面上的javascript) 最终,我想要的是能够搜索搜索术语是当前页面的URL,并使用前面和后面的通配符.我不确定这是否可行,或者我是否只是语法错误,因为我没有错误,根本没有结果! 我试过了 :$query = 'SELEC...

PHP三元运算符不解析类属性?【代码】

我试图弄清楚为什么类中的三元运算符不会解析.我认为一个例子是最明确的方式来展示这一点. 这很好用:$a = array('a' => 'foo','b' => 1 ? 'true' : 'false','c' => 'baz', ); print_r($a);/* Array([a] => foo[b] => true[c] => baz)*/但这甚至没有解析:<?phpclass Junk {private static $a = array('a' => 'foo','b' => 1 ? 'true' : 'false','c' => 'baz',);public static function printA() {print_r(self::$a);} }Junk::prin...

PHP如何将字符串与比较运算符进行比较?【代码】

我正在比较字符串和比较运算符. 我需要对以下两个比较及其结果进行一些简短的解释.if('ai' > 'i') {echo 'Yes'; } else {echo 'No'; }output: No为什么这样输出?if('ia' > 'i') {echo 'Yes'; } else {echo 'No'; }Output: Yes再次,为什么? 也许我忘记了一些基础知识,但我真的需要对这些比较例子进行一些解释来理解这个输出.解决方法:PHP将使用基于字母顺序的大于和小于比较运算符来比较alpha字符串. >在第一个例子中,ai按字母顺序...

php – 在三元运算符中使用return【代码】

我试图在三元运算符中使用return,但收到错误:Parse error: syntax error, unexpected T_RETURN 这是代码:$e = $this->return_errors(); (!$e) ? '' : return array('false', $e);这可能吗? 谢谢!解决方法:这是正确的语法:return !$e ? '' : array('false', $e);

PHP多个三元运算符没有按预期工作【代码】

为什么要打印2?echo true ? 1 : true ? 2 : 3;根据我的理解,它应该打印1. 为什么它不按预期工作?解决方法:因为你所写的内容与:echo (true ? 1 : true) ? 2 : 3;如你所知,1被评估为真. 你期望的是:echo (true) ? 1 : (true ? 2 : 3);所以总是使用牙箍来避免这种混淆. 如前所述,三元表达式在PHP中是左对联的.这意味着首先将从左侧执行第一个,然后执行第二个,依此类推.

php – Laravel Rules&Regex(OR)运算符的问题【代码】

我的Laravel规则和正则表达式操作有一个小问题: 基本上规则就是这样一个数组:'room'=>'required|alpha_num|min:2|max:10',我遇到的问题是使用正则表达式和| (或)操作符,例如:'cid'=>'required|regex:/^((comp)|(soen)|(engr)|(elec))\d{3}$/i',我收到服务器错误说:ErrorExceptionpreg_match(): No ending delimiter '/' found我猜测preg_match正在第一个停止在 – 的里面 /…/. 反正有没有写上面的代码使它工作? 完整代码:pu...

PHP学习004-(算符运算符、赋值运算符、比较运算符)【代码】

PHP算术运算符 <?php$a = 1;$b = 2;echo ($a +$b);//输出a加上b的值,结果为3echo "<br>";echo ($a - $b);//输出a减去b的值,结果为-1echo "<br>";echo ($a * $b);//输出a乘以b的值,结果为2echo "<br>";echo ($a / $b);//输出a除以b的值,结果为0.5echo "<br>";echo ($a % $b);//输出a除以b的余数的值,结果为1echo "<br>";echo $a .= $b;//把b的值链接在a的值后面,并输出,结果为12 ?> PHP赋值运算符<?php$x = 1;$x += 9;//表...

PHP中的C#的空合并运算符(??)【代码】

在PHP中是否有一个三元运算符或类似的东西? C#? ??在C#中是干净和短,但在PHP中,你必须做的事情如下:// This is absolutely okay except that $_REQUEST['test'] is kind of redundant. echo isset($_REQUEST['test'])? $_REQUEST['test'] : 'hi';// This is perfect! Shorter and cleaner, but only in this situation. echo null? : 'replacement if empty';// This line gives error when $_REQUEST['test'] is NOT set. echo...

“&”运算符如何在PHP函数中工作?【代码】

请看这段代码:function addCounter(&$userInfoArray) {$userInfoArray['counter']++;return $userInfoArray['counter']; }$userInfoArray = array('id' => 'foo', 'name' => 'fooName', 'counter' => 10); $nowCounter = addCounter($userInfoArray);echo($userInfoArray['counter']);这将显示11. 但!如果在function参数中删除“&”运算符,结果将为10. 这是怎么回事?解决方法:&运算符告诉PHP在将数组传递给函数时不要复制数组.而...

php – 问题:致命错误:[]运算符不支持字符串【代码】

我从数据库中获取信息,将其保存在数组中并以循环结构的形式回显它,当我尝试将修改后的信息保存到数据库时,我遇到了问题. 我收到这个错误:Fatal error: [] operator not supported for strings in….码:$namesql1 = "SELECT name,date,text,date2 FROM table WHERE something= '$something'"; $nameresult1 = mysql_query($namesql1); $countrows = mysql_num_rows($nameresult1); while ($row = mysql_fetch_array($nameresult1...

什么是“ – >”PHP运算符调用,如何大声读取代码时怎么说?

你怎么称呼这个箭头 – >在PHP中找到运算符? 它可以是减号,破折号或连字符,后跟大于号(或右V形). 在大声朗读代码时你怎么发音?解决方法:官方名称是“对象运算符” – T_OBJECT_OPERATOR.我称之为“箭头”.

用PHP中的@运算符抑制错误【代码】

在您看来,使用@运算符来抑制PHP中的错误/警告是否有效,而您可能正在处理错误? 如果是这样,你会在什么情况下使用它? 欢迎使用代码示例. 编辑:回复者的注意事项.我不打算关闭错误报告,但是,例如,通常的做法是使用@fopen($file);然后检查……但是你可以通过这样做摆脱@if (file_exists($file)) {fopen($file); } else {die('File not found'); }或类似的. 我想问题是 – 是否有任何@HAS用于抑制错误,不能以任何其他方式处理?解决方...