草庐IT

if-cases

全部标签

php - 在 Yii SQL 命令对象中添加 case when 语句

在YII中,我有一个已经可以工作的函数:$sql=Yii::app()->db->createCommand();$sql->select('A.nameasclient_name,B.nameasproduct_name');$sql->join('tablebB','A.id=B.product_id');$sql->from('tableaA');$sql->where('1=1');现在我想在product_name字段中添加一个小逻辑,在MYSQL中会是CASEWHENB.name="sth"THENB.nameELSEB.another_nameENDASproduct_n

php - 在 PHP switch 语句中有效的 case 后的分号?

我正在为客户端调试一些代码并发现以下语法:switch($i){case0;echo"iequals0";break;case1;echo"iequals1";break;case2;echo"iequals2";break;}case语句以分号而不是冒号结尾。事实证明这确实可以编译,但它合法吗?我以前从未见过这种语法。 最佳答案 来自documentation:It'spossibletouseasemicoloninsteadofacolonafteracaselike:switch($beer){case'tuborg';ca

PHP 日期时间() : Display a length of time greater than 24 hours but not as days if greater than 24 hours

我想显示以小时、分钟和秒为单位的时间长度,其中有些时间长度大于24小时。目前我正在尝试这个:$timeLength=newDateTime();$timeLength->setTime(25,30);echo$timeLength->format('H:m:i');//01:30:00我希望它显示25:30:00。我正在寻找面向对象的解决方案。谢谢:) 最佳答案 因为你已经有了以秒为单位的长度,你可以计算它:functiontimeLength($sec){$s=$sec%60;$m=(($sec-$s)/60)%60;$h=flo

php - IF 语句中值之前或之后的变量

这两种说法有区别吗:if($a=='hello'){...}和if('hello'==$a){...}我注意到像Wordpress这样的应用程序倾向于使用后者,而我通常使用前者。我似乎记得不久前读过一些东西,为后者辩护,但我不记得背后的原因。 最佳答案 没有区别。它用于在您不小心进行赋值而不是比较时抛出错误:if('hello'=$a)if($a='hello')将分配给变量并且不会抛出错误。它也可以用来显式地表明if你在if语句中有一个赋值,你真的想把它放在那里,这不是一个错误(一致性)。

php - 没有大括号的 JavaScript if 语句的简洁语法

所以从务实的Angular来说,我对我正在寻找的东西有一个快速而肮脏的答案here.但为什么使用它不是一个好主意?为什么我找不到它的任何正式文档?它不是规范和标准的一部分吗?它没有得到广泛支持吗?仅仅是因为缩小可能会破坏使用该语法的代码吗?如果您能为我提供更全面的功能文档,我将不胜感激。什么定义了ifblock的内容?它是基于缩进的吗?如果是,那会很有趣。另一方面,对于PHP中的if语句,是否有类似于此语法的内容?我可以发誓我已经看到它们在这里和那里被使用,但我找不到任何现成的例子。我是不是疯了,它实际上在PHP中不存在,或者那些类型的ifblock可以在PHP中使用吗?这样的ifbl

php - 如何在 1 IF 中检查没有索引偏移错误的 PHP 数组的值

是否可以在1个IF语句中检查PHP数组中某个键的值?现在,为了不抛出索引偏移错误,我必须检查键是否已设置,然后检查其值。if(isset($array[$key])){if($array[$key]==$x){//dostuff}}(抱歉,不小心把!放在了第一个IF中) 最佳答案 The&&operatorisshort-circuit,因此:if(isset($array[$key])&&$array[$key]==$x)//dostuff}快乐编码。 关于php-如何在1IF中检查没

php - 什么是 if();做,括号后面的分号在哪里?

碰巧,在编写一些PHP代码时,我不小心在if语句之后放了一个分号;。例如:if($a>1);{....}我认为PHP应该在这种情况下引发错误,但事实并非如此。那种语法应该是有意义的,我只是想知道它是什么。据我所知,当添加;时,条件似乎始终为真,但我完全不确定这是不是这个意思。 最佳答案 单个;可以被读作“空语句”并且if($a>1);{....}相当于if($a>1);//executeanemptystatementif$a>1//thenexecutethefollowingblockofcode.{....}ForwhatIc

php - 执行多个 IF 的更有效方式

这只是一个简单的检查,看看要输出什么字母等级。有没有更快更有效的方法来实现目标?if($grade>=90){echo"A";}elseif($grade>=80){echo"B";}elseif($grade>=70){echo"C";}else{echo"Failed."} 最佳答案 这并没有回答您的实际问题,但我认为您在这里犯了一个错误:使用PHP时真的不应该考虑效率,它不是一种为速度而设计的语言,而是一种为易用性而设计的语言。如果您的应用程序尚未完成并且您尚未验证这段代码会减慢您的整个应用程序(例如,使用xdebug的分析器

php - 在 if 条件中放置一个 foreach 循环

我需要创建一个foreach语句,它将运行并为条件语句创建条件。我写了这段代码,没想到它能工作,当然它没有...$filename="whitelist.txt";$handle=fopen($filename,'r');$whitelist=fread($handle,filesize($filename));fclose($handle);$whitelist=explode("\n",$whitelist);if(foreach($whitelistas$value){strpos($ref,'http://'.$value.'/')===0||})那么,这应该能够工作吗?还是我

php - 如何在 PHP 中使用三元运算符代替 if-else

我正在尝试使用三元运算符来缩短我的代码。这是我的原始代码:if($type="recent"){$OrderType="sidDESC";}elseif($type="pop"){$OrderType="counterDESC";}else{$OrderType="RAND()";}如何在我的代码中使用三元运算符而不是ifs/elses?$OrderType=($type="recent")?"sidDESC":"counterDESC";这是我试过的代码,但不知道如何向其中添加“elseif部分”。 最佳答案 这称为三元运算符;-