草庐IT

php - 这些嵌套的 if/elseif 语句的更优雅的解决方案是什么?

我正在构建一个包含用户和用户配置文件的网站。配置文件中的许多字段都是可选的。有很多用户生成内容的机会,因此我需要在网站的许多不同位置(评论、帖子等)显示此内容的作者。在用户的个人资料中,他能够(可选地)填写他的“名字”、“姓氏”和“显示名称”。为了显示作者,我编写了一个辅助方法来查看提供的这些字段的数组,并按照以下优先顺序返回最适合用户的名称:如果用户填写了display_name,就会显示出来。如果用户填写了first_name和last_name,但没有填写display_name,它将显示这两个名字如果用户只填写了first_name,它会显示first_name。如果用户只填写

php - is_null 函数在我的 if 语句中无法正常工作

我有一个if语句来检测用户是否登录并属于某个部门。这真的很简单。有一个Permissions.php类,如果登录或返回NULL,则返回User对象。protected$user=NULL;...publicstaticfunctioninstance(){if(!self::$instance){self::$instance=newPermissions();}returnself::$instance;}...publicfunctionget_user(){return$this->user;}然后是user.php类,它具有返回他们所在部门的函数:publicfunctioni

php - 正则表达式 - 获取元素以呈现 if 语句

我正在设计脚本并尝试在php中不使用eval构建if结构。仍然不完整,但正在突破,它是为了做一个模板引擎,引擎的“if”部分。不允许赋值运算符,但我需要测试值不允许php代码注入(inject),准确地说不使用eval它需要在变量之间进行单独的操作以防止注入(inject)攻击。正则表达式必须捕获[if:(a+b-c/d*e)|(x-y)&!(z%3=0)]output[elseif:('b'+'atman'='batman')]output2[elseif:('b'+'atman'='batman')]output3[elseif:('b'+'atman'='batman')]out

PHP if 语句如果页面是用 ajax 加载的

我有一个加载了从包含文件(pullList.php)填充的div的页面,但是如果您单击一个按钮(假设是“重新加载”按钮),div的内容将重新加载相同的内容文件(pullList.php)。现在的问题是,当通过ajax(使用jquery)加载页面时,我需要在pullList.php文件中包含一个包含文件(function.php),该文件已经包含在页面中。所以,理想情况下,我希望能够写出这样的声明if(thepagewasloadedwithajax){include(function.php);}这样function.php文件只会加载一次,如果通过ajax再次请求该页面,它具有正确显

php - 长 if 语句和 PSR-2

我正准备将一些代码迁移到PSR-2标准。在我的代码中,我有包含多行表达式的if语句:if($field->getBlockMode()==FieldInterface::BLOCK_MODE_HIDEVAR&&!isset($this->enabledBlocks[$field->getBlock()])){}编写此类表达式的最佳做法是什么? 最佳答案 如何让它成为一个单行代码来避免这个问题并使语句更具可读性:$blockModeIsHidevar=$field->getBlockMode()==FieldInterface::BL

php - 了解 if 语句中的 PHP 操作码

我试图理解一个简单代码的操作码。代码是:上面代码的操作码是:php-dvld.active=1test.phpFindingentrypointsBranchanalysisfromposition:0Jumpfound.Position1=3,Position2=4Branchanalysisfromposition:3Jumpfound.Position1=5,Position2=7Branchanalysisfromposition:5Jumpfound.Position1=7Branchanalysisfromposition:7ReturnfoundBranchanalysi

php - PHP 中的 if (\false)(是的,带反斜杠)是什么意思?

今天早上,我收到通知说一个新的Twig_Extensions发布可用!耶!在将其集成到twigfiddle之前,我想看changes.这主要是使用class_alias添加对命名空间的支持。函数,然后添加仅包含遗留类的PSR-4对应类。但是每个新的(命名空间的)类都是这样实现的:这个符号是什么意思? 最佳答案 这意味着它正在使用全局命名空间中定义的false..经过一些研究后发现这个答案的其余部分都是无稽之谈......我可以发誓你曾经能够在某个时间点用PHP做到这一点。我认为这是解决问题的地方我从来没有见过任何人为此编写代码,但这

php - 用 PHP 中的逻辑表达式替换 IF

当我偶然发现类似于这样的构造时,我正在重构一些旧代码://functionbar()returnsavalue//ifthevalueisaninstanceofcustomExceptionclass,terminatewitherrorcode//elseprocesstheregulardata$foo=bar();checkForException($foo)&&exit($foo->errorCode());process($foo);虽然现在看起来很奇怪,但比以前短多了$foo=bar();if(checkForException($foo)){exit($foo->err

php - PHP 闭包在 IF 语句中返回什么?

我的目标是将一些复杂的逻辑放在if()语句中。假设我有一个值数组,如果我的数组中的所有内容都不为零,我将执行一些代码。通常,我可以说,$valid=true,foreach我的数组,并在找到零时设置$valid=false。然后我将运行我的代码if($valid)。或者,我可以将我的循环放入一个函数中,并将该函数放入我的if()中。但我很懒惰,所以我宁愿不去处理一堆“有效”标志,我也宁愿不编写一个只在一个地方使用的全新函数。假设我有这个:if($q=function(){return'foo';}){echo$q;}else{echo'false';}我期待if得到'foo',它的计算

php - 如果 {} 在 if : endif

为什么它不起作用?在第7行出现Parseerror:syntaxerror,unexpected':'...$a=0;$b=1;$c=3;$d=4;if($a==$b):if($b==$c){//something}else:$c=$a;endif;但如果我将其更改为(刚刚添加的else语句):$a=0;$b=1;$c=3;$d=4;if($a==$b):if($b==$c){//something}else{//something}else:$c=$a;endif;它工作正常。这是为什么呢?这不是一个PHP错误吗?或者有关于if...else我应该知道的规则?无论如何,我使用的是PH