jjzjj

php,如何简化一个php脚本?

我不确定这是一个很好的问题,但这是我的问题。我有一个if声明太长了,我想知道是否有其他类型的语法可以缩短它:if(($time1这是一个例子,但我有一个类似的例子,最高可达..&&($time15.该声明非常不言自明,$time1,$time2,etc可以空着回来所以我必须检查它们是否是NULL还是不是有什么想法吗?谢谢 最佳答案 您可以将常用的东西放在一个函数中:functionvalidate_time($time,$one_day){return$time您可能想要重构代码并消除复制和粘贴这些检查的需要。完成工作的另一种方法:

php - 我怎样才能简化这个数组?

我有这个数组:Array([0]=>Array([tag_id]=>1)[2]=>Array([tag_id]=>3)[22]=>Array([tag_id]=>44)[23]=>Array([tag_id]=>45)[25]=>Array([tag_id]=>47)[26]=>Array([tag_id]=>48))我希望它看起来像这样,这样我就可以更简单地遍历并将每个值插入数据库:Array([0]=>1[1]=>3[2]=>44[3]=>45[4]=>47[5]=>48) 最佳答案 您可以使用array_map.PHP5.3或

php - 简化 if isset case php

抱歉,如果这是一个很简单的问题,但我找不到与此相同的线程。假设我们正在设置如下值OnlyAdminCanRequestCanOfferCanPostIsMaintenance然后在我们的服务器端,我们把这个if(isset($_POST['only_admin'])){$permission['only_admin']=$_POST['only_admin'];}if(isset($_POST['can_request'])){$permission['can_request']=$_POST['can_request'];}if(isset($_POST['can_offer']))

php - 重写规则以简化 REST api 的 codeigniter url

我正在使用https://github.com/chriskacerguis/codeigniter-restserver在codeigniter中编写一个RESTapiRESTController库。我已经在application/controllers/api/v1中编写了我的Controller,并重写了Router类以允许Controller内有多个子文件夹。现在我想访问这些服务http://api.domain.com/v1/user/11代替http://api.domain.com/api/v1/user/11我试过遵循htaccess规则RewriteCond%{HTT

php - 如何简化此正则表达式以避免递归?

正则表达式:(?|`(?>[^`\\]|\\.|``)*`|'(?>[^'\\]|\\.|'')*'|"(?>[^"\\]|\\.|"")*"|(\?{1,2})|(:{1,2})([a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*))示例输入:INSERTINTOxyzWHEREa=?andb="what?"and??="cheese"and`col?`='OK'and::col='another'andlast!=:leasthttps://regex101.com/r/HnTVXx/6它应该匹配?、??、:xyz和::xyz但如果它们是在反引号字符串

php - 如何简化 Laravel 中的多重搜索?

有时候我们在Laravel中使用where时会出现这样的场景,像这样:if(!empty($request->input('user_name'))){$where[]=['user_name','like',"%".$request->input('user_name')."%"];}if(!empty($request->input('group_id'))){$where[]=['group_id',$request->input('group_id')];}if(!empty($request->input('email'))){$where[]=['email','like'

php - 简化 PHP 中的数组

我有以下需要在PHP中定义的数组,我已经以非常基本的方式完成了这些数组:$ch1=array("A-MTP-1-1","A-MTP-1-2","A-MTP-1-3","A-MTP-1-4");$ch2=array("A-MTP-1-5","A-MTP-1-6","A-MTP-1-7","A-MTP-1-8");$ch3=array("A-MTP-1-9","A-MTP-1-10","A-MTP-1-11","A-MTP-1-12");$ch4=array("A-MTP-2-1","A-MTP-2-2","A-MTP-2-3","A-MTP-2-4");$ch5=array("A-MTP

php - 如何简化这个php switch语句?

我想改变这个://useappropiatelang.xx.phpfileaccordingtothevalueofthe$langswitch($_SESSION['lang']){case'en':$lang_file='lang.en.php';break;case'es':$lang_file='lang.es.php';break;case'zh-tw':$lang_file='lang.zh-tw.php';break;case'zh-cn':$lang_file='lang.zh-cn.php';break;default:$lang_file='lang.en.php'

java - 简化复杂的正则表达式

我正在寻找一种方法来简化由值(例如12345)、关系符号(、=)和连接符(&、!)组成的正则表达式。例如。表达式:>=12345&应该匹配。我有这个正则表达式:(^=|^>=|^|^|^)((!|)([0-9]{1,5}))(&>|&=|&>=|&=|&|&|&|&|$))*我对表达式开头和结尾处重复的=、特别不满意。我很乐意得到如何让它更简单的提示,例如向前看,向后看。 最佳答案 从您的正则表达式开始,您可以执行以下简化步骤:(^=|^>=|^|^|^)((!|)([0-9]{1,5}))(&>|&=|&>=|&=|&|&|&|&

java - 如何简化 token 预测 DFA?

词法分析器DFA导致“代码太大”错误我正在尝试使用ANTLR3解析Java服务器页面。Java对单个方法的字节码有64k的限制,我在编译ANTLR生成的Java源代码时一直遇到“codetoolarge”的错误。在某些情况下,我已经能够通过破坏我的词法分析器来修复它。例如,JSP使用XML“名称”标记,它可以包含多种字符。我决定在我的“名称”token中只接受ASCII字符,这极大地简化了一些测试,词法分析器允许它编译。然而,我已经到了无法再偷工减料的地步,但DFA仍然太复杂。我该怎么办?是否存在导致复杂DFA的常见错误?有没有办法抑制DFA的生成,也许是依靠语义谓词或固定前瞻来帮助预