草庐IT

filter_var

全部标签

php - get_object_vars 返回 NULL

这一行:var_dump($data['department']);返回这个:object(Penny\HomeBundle\Entity\Department)[1420]protected'id'=>int37protected'name'=>string'Support'(length=7)protected'email'=>string'denis_nizetic@hotmail.com'(length=25)当我尝试做的时候var_dump(get_object_vars($data['department']));我明白了arrayempty如果对象在那里,我不知道为什么会

php 文件中的 phpdoc @var

我有下一个php代码我想让我的ide自动完成$a->正确,并告诉我$a中只有一个可用的方法foo。没有像$a=newA();这样的字符串。$a在另一个地方实例化并由自动加载器处理。 最佳答案 下面的语法在eclipse中运行良好/*@var$aA*/$a->请注意,我切换了参数顺序。 关于php文件中的phpdoc@var,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/77227

php - 如何将 PHP 闭包(lambda 函数)保存到 $this->var 中并稍后从同一类的另一个方法中调用它?

我有课classSomeClass{private$someVar;publicfunctionInit($func){$this->someVar=$func;}publicfunctionDoSomething(){$this->someVar("asdasdasd");}}$obj=newSomeClass();$obj->Init(function($param){var_dump($param);});$obj->DoSomething();当我调用方法DoSomething时,我得到一个错误,提示SomeClass::someVar()是未定义的方法。但是当我使用调试器时,

php - $_GET[var] isset 或 !empty

我最近不得不为一份工作做一个“测试”,我得到反馈说这个说法是不正确的:$images=$flickr->get_images(5,!empty($_GET['pg'])?$_GET['pg']:1);“假设的”错误是在第一次加载页面时通过三元运算符生成的,因为没有通过查询字符串传递的“?pg=1”(或其他)。反馈说我应该改用isset。我查看了此处(question1960509)和博客的各种帖子,但找不到任何明确的答案。这真的是一个错误吗?我怎样才能复制这个问题?我需要在我的php.ini文件中添加E_STRICT或其他内容吗?或者这可能是由于旧版本的php造成的?注意:请不要告诉我

PHP filter_var 错误?

以下代码成功验证字符串“0123.250”是否为有效float。这是PHP错误还是我做错了什么?filter_var('0123.250',FILTER_VALIDATE_FLOAT); 最佳答案 来自PHPdocumentationonfloatliterals:LNUM[0-9]+DNUM([0-9]*[\.]{LNUM})|({LNUM}[\.][0-9]*)EXPONENT_DNUM[+-]?(({LNUM}|{DNUM})[eE][+-]?{LNUM})如您所见,前导零没有限制,如以下位所示:[0-9]*[\.]和[0-9

php - ${/*var in here*/} 做什么。我无法在任何地方找到任何结果

这是一个非常愚蠢的问题,但对于我来说,我无法弄清楚这是做什么的。根据过去的经验,如果你不知道就问,否则永远保持愚蠢代码如foreach($arras$key=>$val){${$key.'Count'}=0;}提前致谢 最佳答案 这是一个variablevariable.大括号内的结果字符串用作变量的名称。因此,如果您有以下情况:$arr=array('foo'=>'bar');foreach($arras$key=>$val){${$key.'Count'}=0;}现在将有一个变量$fooCount,其值为0。

php - FILTER_SANITIZE_STRING 正在剥离 < 字符及其后的任何文本

我在使用FILTER_SANITIZE_STRING时遇到了一个奇怪的问题在一个变量上(由人工输入填充)。它似乎剥离了字符和之后的任何文本。>字符保持不变。我假设它认为是一个需要被剥离的HTML标签,但是它后面没有结束标签,所以我不知道为什么它会那样做。有没有办法让它离开到位,并仍然按照应有的方式进行sanitizer? 最佳答案 根本问题是,当您使用FILTER_SANITIZE_STRING去除HTML标签时,您将输入作为HTML处理。根据您的描述,您输入的是纯文本。因此,过滤器只能破坏输入数据,正如用户已经报告的那样。虽然这似

php count+array_filter 多维数组中的多个值

这个问题在这里已经有了答案:array_count_values()withobjectsasvalues(3个答案)关闭4个月前。如何防止为我要搜索的每个值重复相同的代码块?我想通过计算另一个多维数组($data)中的特定值来创建一个新数组($result)。$result=array();$result['Insulin']=count(array_filter($data,function($entry){return($entry['choice']=='Insulin');}));$result['TZD']=count(array_filter($data,function

php - 如何使用php读出/var/mail/username?

我正在使用phpmail()函数发送本地邮件,如下所示:mail('kramer65@localhost','THESUBJECT','THEBODY',$headers);当我执行cat/var/mail/kramer65时,我得到以下信息:Received:byphp0(Postfix,fromuserid1007)id1A0A028DB7;Tue,29Apr201411:00:48+0200(CEST)To:kramer@localhostSubject:THESUBJECTX-PHP-Originating-Script:0:MyControllerTest.phpFrom:l

php - 正则表达式:除特定字符外的所有 ASCII 字符(PHP、FILTER_VALIDATE_REGEXP)

找到以下很好的正则表达式来匹配所有可打印的ASCII字符:[-~]我的代码是这样的:$string="MyASCIIstringis(not)veryfunny.";filter_var($string,FILTER_VALIDATE_REGEXP,array("options"=>array("regexp"=>"/^[-~]*$/")));这几乎就是我所需要的,但是我想排除冒号。我试过[-~\:]和[-~^:]都不起作用。什么是正确的正则表达式以及如何正确排除单个字符? 最佳答案 看起来您正在寻找这样的正则表达式:(?=[-~]