草庐IT

filter_iterator

全部标签

php - 在 Foreach 循环中使用 FILTER() - PHP Goutte

我有这个代码require_once'vendor/autoload.php';使用Symfony\Component\DomCrawler\Crawler;$html=HelloWorld!ThisisspanHelloCrawler!ThisisspanHTML;$crawler=newCrawler($html);foreach($crawler->filter('body')as$domElement){$domElement->filter('span');}我遇到了这个错误。Fatalerror:CalltoundefinedmethodDOMElement::filter

php - array_filter 基于来自另一个数组的键

我有两个数组:$arr1=array('a'=>10,'b'=>20);$arr2=array('a'=>10,'b'=>20,'c'=>30);如何使用array_filter从$arr2中删除$arr1中不存在的元素?就像我例子中的“c”... 最佳答案 有一个函数专门用于此目的:array_intersect():array_intersect—Computestheintersectionofarrays$arr2=array_intersect($arr1,$arr2);如果你想比较键,而不是像array_intersec

PHP FILTER_VALIDATE_EMAIL 最大长度

使用PHP的FILTER_VALIDATE_EMAIL时允许的最大字符长度是多少?我正在测试我的脚本以测试允许的最大长度(200)的功能,但是当我使用超过200个字符的电子邮件时,PHP的FILTER_VALIDATE_EMAIL返回false。 最佳答案 如果电子邮件确实有效,那么它应该可以很好地处理您的200多个字符的电子邮件数据。您确定提供的电子邮件地址有效吗?有效电子邮件的条件:电子邮件地址的最大长度为254个字符。每个电子邮件地址都由两部分组成。本地部分在“@”符号之前,域部分在它之后。在“user@example.com

php - FILTER_VALIDATE_BOOLEAN 的输入值为 false

我希望输入只接受“真”或“假”,所以我尝试使用FILTER_VALIDATE_BOOLEAN来做到这一点,if(!filter_var('false',FILTER_VALIDATE_BOOLEAN)){$error=true;echo'error';}它回显了错误消息,但它不应该。我怎样才能让它正确? 最佳答案 看看手册http://www.php.net/manual/en/filter.filters.validate.php您的语法/用法是正确的。filter_var('false',FILTER_VALIDATE_BOOL

PHP - 使用 array_filter 从哈希表(数组)中删除项目

在PHP中,我知道没有正式的方法可以删除已放入数组中的项目。但是必须有一个“最佳方法”来解决我的问题。我相信这可能在于array_filter函数。本质上,我有一个购物车对象,它在哈希表中存储商品。想象一下,您一次只能购买一件商品。我愿意add_item(1);add_item(2);remove_item(1);get_count()仍然返回2。var$items;functionadd_item($id){$this->items[$id]=newmyitem($id);}functionremove_item($id){if($this->items[$id]){$this->i

php - 为什么当我手动为 $_POST 数组赋值时 filter_input() 返回 NULL?

我正在做一些关于数据验证的练习,并决定弄乱filter_input()函数。当我尝试运行这段代码时:$_POST['var']=10;$filtered=filter_input(INPUT_POST,'var',FILTER_VALIDATE_FLOAT);var_dump($filtered);var_dump($filtered)返回NULL。我知道如果通过提交表单为$_POST['var']分配了一个值,代码就可以工作,但我只是想知道为什么手动为$_POST[]数组不返回float(10)? 最佳答案 filter_inpu

php - PHP array_filter 中的 undefined variable

这个问题在这里已经有了答案:Accessingoutsidevariableusinganonymousfunctionasparams(2个答案)关闭7年前。这可能是一个非常愚蠢的问题,但我只是无法理解PHP作用域如何处理这段代码:$leagueKey='NFL';$response['response']=array_filter($response['response'],function($tier){return($tier['LeagueKey']===$leagueKey?true:false);});当我运行它时,我得到一个“Undefinedvariable:leag

php - 如何在 zendFramework 中的数组上应用 Zend_Filter_StripTags?

我想在对象数组上应用Zend_Filter_StripTags$my_result=$obj->listdata(callingselectqueryfrommodel)返回的数组是这样的$my_result=array0=>array'id'=>string'1'(length=1)'value'=>string''(length=10)1=>array'id'=>string'2'(length=1)'value'=>string'value'(length=15)我如何将Zend_Filter_StripTags应用到$my_result然后我将这个数组传递给smarty

php - 尝试理解 php 中的 Iterator 接口(interface)

我正在阅读http://php.net/manual/en/class.iterator.php,但很难理解示例#1的基本用法。问题:var_dump(__METHOD__);我知道你可以在这里使用变量,例如:var_dump($count),但是METHOD不是变量,还是全局变量/常量?foreach($itas$key=>$value){var_dump($key,$value);echo"\n";}如果我把它改成:foreach($itas$key=>$value){}如果我运行脚本,它仍然可以显示结果,为什么?var_dump($key,$value);结果是int0strin

javascript - 为什么 array_map 和 array_filter/array_reduce 的函数签名不同?

array_map要求输入$array作为最后一个参数。array_filter和array_reduce将$array输入作为第一个参数。作为对比示例,当您在JavaScript中对数组调用map、filter或reduce时,回调函数签名如下所示(current,index,array)=>{…}Array.prototype.reduce将结转值作为第一个参数,但仍然不能在JavaScript方法中混淆参数的顺序。我知道PHP不是面向功能的,但我想知道是什么设计决策导致了array_map等的签名。array_map将数组作为最后一个参数仅仅是因为您可以提供任意数量的数组(可变参