草庐IT

filter_func

全部标签

php - 使用 PHP Filter 函数进行验证,但忽略空的非必填字段

我想使用PHPFilter快速过滤表单并向用户显示反馈的功能。我表单中的某些字段是必需的,有些则不是。我将使用filter_input_array()过滤我所有的领域。我将在多次运行中传递数据。这样,我将能够显示多个错误消息。我有一个问题:如何忽略不需要的空字段?我没有看到它的过滤器。更新:澄清过滤器和错误消息的要求:我想使用过滤器来检查:如果所有必填字段都已填写如果填写了可选字段;如果不是,则忽略其余过程如果填写了电子邮件、电话号码等字段。我想为每种类型的错误显示错误消息,每个字段最多显示1条错误消息。 最佳答案 对于输入数组中不

php - call_user_func_array 与 $controller->$method($params)?

我在我的代码中使用它:call_user_func_array(array($controller,$method),$this->params);但我发现下面的代码做了同样的事情:$controller->$method($this->params);这两个版本有什么区别吗?谢谢亚当·拉马丹 最佳答案 它们不一样。如果$method是showAction并且$this->params是array(2,'some-slug'),那么第一次调用将等同于:$controller->showAction(2,'some-slug');而第

php filter_var 在 FILTER_VALIDATE_INT 上失败并返回零

我对以下抛出异常感到困惑:if(!filter_var(0,FILTER_VALIDATE_INT))thrownewException("Nonnumericfieldpassed".$field."whenexpectinganumber:".$variable."passedinstead");任何积极的事情都可以吗?我试过intval(0)但仍然一无所获。零不是整数吗? 最佳答案 人们应该测试false:if(filter_var($value,FILTER_VALIDATE_INT)===false){//$valueis

PHP 和 HTTP 身份验证 - 使用 filter_input 获取登录名和密码

我正在尝试使用filter_input从PHP中的HTTP身份验证检索用户登录名和密码,但我得到的PHP_AUTH_USER和PHP_AUTH_PW均为空值。我做了一个测试:$phpAuthUserFV=filter_input(INPUT_SERVER,'PHP_AUTH_USER');//givesnull$phpAuthUser=$_SERVER['PHP_AUTH_USER'];//givestheuserloginentered$remoteAddr=filter_input(INPUT_SERVER,'REMOTE_ADDR');//givestheremoteaddres

php - Laravel,在filter中调用filter

我如何使用laravel在过滤器中调用过滤器?我有这个过滤器:Route::filter('auth',function(){if(Auth::guest()){if(Request::ajax()){returnResponse::make('Unauthorized',401);}else{returnRedirect::guest('login');}}});现在我创建了另一个名为admin的过滤器,我想在其中调用auth过滤器:Route::filter('admin',function(){#callauthfilter#code});这有可能吗?

php - 使用 filter_has_var() 而不是 isset() 有什么好处

我对使用filter_has_var($_POST['id'])而不是isset($_POST['id'])的好处感到有点困惑。有人可以告诉我它是否只是一个别名函数吗? 最佳答案 不是很多;)根据filter_has_var的手册页一位用户更快地找到filter_has_var。同样值得注意的是……filter_has_var不是在实时数组($_POST)上工作,而是在实际提供的输入上工作……如果您曾经添加/删除/更新该数组中的内容您不会通过filter_has_var调用看到这些更改(而isset将反射(reflect)当前状态)

php - FILTER_VALIDATE_EMAIL 的一致性如何?

示例有效电子邮件地址:"thisisavalidaddress"@example.comPHP代码:一台服务器上的输出:(PHP版本5.2.6):string(37)""thisisavalidaddress"@example.com"string(37)""thisisavalidaddress"@example.com"phpinfo():InputValidationandFilteringenabledRevision$Revision:1.52.2.42$DirectiveLocalValueMasterValuefilter.defaultunsafe_rawunsafe_

php - func_num_args、func_get_arg 和 func_get_args 从 php 5.2 到 5.3 的行为差异

我看过PHP手册。但是我不明白PHP早期版本和后期版本之间的行为差​​异。我不明白这个说法:Becausethisfunctiondependsonthecurrentscopetodetermineparameterdetails,itcannotbeusedasafunctionparameterinversionspriorto5.3.0.Ifthisvaluemustbepassed,theresultsshouldbeassignedtoavariable,andthatvariableshouldbepassed. 最佳答案

php - 密集的 PHP 脚本失败 w/"The timeout specified has expired"错误/ap_content_length_filter

运行失败的MySQL密集型PHP脚本。Apache日志报告如下:[WedJan1300:20:102010][error][clientxxx.xx.xxx.xxxx](70007)Thetimeoutspecifiedhasexpired:ap_content_length_filter:apr_bucket_read()failed,referer:http://domain.com/script.php尝试将set_time_limit(0)放在顶部。还尝试了set_time_limit(0)都没有修复超时。我可以在http.conf(或其他地方)中设置一些特定的超时限制来防止这

php - 在 PHP5 中使用 func_get_args() 通过引用传递变量?

我目前有一个这种形式的类方法/函数:functionset_option(&$content,$opt,$key,$val){//...Somecheckingtoensurethenecessarykeysexistbeforetheassignmentgoeshere.$content['options'][$key][$opt]=$val;}现在,我正在考虑稍微修改一下函数,使第一个参数成为可选参数,这样我就可以只传递3个参数。在这种情况下,使用类属性content代替我省略的属性。首先想到的是将func_num_args()和func_get_args()与此结合使用,例如:f