我正在通过示例描述问题:让,$actual_food['Food']['name']='Tea';$actual_food['Food']['s_name']='Local';我按以下方式连接上述变量。$food_name=$actual_food['Food']['name']."".!empty($actual_food['Food']['s_name'])?"-".$actual_food['Food']['s_name']:"";当我打印$food_name时然后输出像'-Local'但不打印$actual_food['Food']['name']内容。我觉得这个问题有点傻,但
我正在尝试执行以下操作:pageName=='index'??>class="current">Home但它不起作用。我想要实现的目标可行吗?如果是这样,我做错了什么?我知道将PHP放入HTML中并不难,哈哈。我很好奇是否可以以类似于以下的方式使用三元运算符:Test 最佳答案 您所做的只会返回值“class='current'”。您仍然需要ECHO/PRINT才能应用它。下面的代码应该可以正常工作。pageName=='index')?'current':'';?>">Home我刚刚在这里所做的是将类属性放在php之外,以便使事情
在PHP中,如果我有这样的三元组:$my_thing=$this->myAttribute?$this->myAttribute:"Noattributewasset.";可以这样简写吗?$my_thing=$this->myAttribute?:"Noattributewasset."我想我记得PHP在其三元组中支持此功能,但现在我遇到了错误。 最佳答案 它在PHP5.3及更高版本中受支持。来自PHP.netSincePHP5.3,itispossibletoleaveoutthemiddlepartoftheternaryope
刚刚学习了三元运算符并期望以下内容起作用:$dbh=newPDO('mysql:blad','user','pass');(!$dbh)?thrownewException('Errorconnectingtodatabase');:return$dbh;相反,我收到以下错误:parseerror:syntaxerror,unexpectedT_THROWin...对正确的语法有什么想法吗?谢谢 最佳答案 三元运算符的语法是expr1?expr2:expr3。简而言之,表达式是"anythingthathasavalue".对于PH
假设我有一个很长的变量,$row['data']['manybullets']['bullets']['bullet'][0],我想测试一下是否使用三元运算符设置:$bulletx=isset($row['data']['property']['bullets']['bullet'][0])//condition?$row['data']['property']['bullets']['bullet'][0]//true:'empty';//false我是否可以引用表达式的主题而不是重复它。例如。$bulletx=isset($row['data']['property']['bull
这个问题在这里已经有了答案:Canyoupassbyreferencewhileusingtheternaryoperator?(5个答案)关闭7年前。我在我的代码中的某处使用followed:if(isset($flat[$pid])){$branch=&$flat[$pid]['items'];}else{$branch=&$tree;}一切正常,但是当我想将它缩短为:$branch=isset($flat[$pid])?&$flat[$pid]['items']:&$tree;我得到:syntaxerror,unexpected'&'...我做错了什么?
我可以这样做吗?(暂时无法测试,自己看看)publicfunctionoverSimplifiedTernaryTest($condition=false){return($condition)?'someString':'someOtherString';} 最佳答案 有效,下次您可以使用ideone.com测试您的代码而不是提出问题。您的代码:http://ideone.com/2oHkF也可以引用thisquestion使用其他在线工具来测试您的代码。 关于php-我可以在PHP类
出于某种原因,我的三元运算符分配不适用于数组的第二部分。有人看到我做错了什么吗?它应该只是查看永久链接字段是否有值,如果没有,则将link_url插入数组。functiongetSiteMap(){$this->db->select('site_menu_structures_links.id,site_menu_structures_links.link_name');$this->db->from('site_menu_structures_links');$this->db->where('site_menu_structures_links.status_id',1);$thi
这个问题在这里已经有了答案:HowtoconcatenatemultipleternaryoperatorinPHP?[duplicate](8个答案)关闭7年前。$chow=3;echo($chow==1)?"one":($chow==2)?"two":"three";输出:三个$chow=1;echo($chow==1)?"one":($chow==2)?"two":"three";输出:两个谁能解释为什么当$chow=1而不是“一”时输出是“二”?
我在PHP手册中看到了一个例子:我正在尝试将类似的东西集成为单行输出的一部分。我的行看起来像这样:echo"...text...".$db_field['late']==0?'':$db_field['late']."...moretext...";逻辑上我想做的是:如果'late'=0thendisplaynothingelsedisplaythecontentof'late'.我是不是太聪明了? 最佳答案 因为三元运算符?:的优先级很低。要解决此问题,请使用括号echo"...text...".($db_field['late'