草庐IT

Data_Array

全部标签

php - 为什么这个 array_filter 方法不调用这个函数?

privatestaticfunctionreturnSameElementIfNotEmpty($item){if(empty($item)){returnfalse;}else{returntrue;}}publicstaticfunctionclean($array){returnarray_filter($array,'returnSameElementIfNotEmpty');}当我尝试使用示例数组运行它时,我得到:警告:array_filter()期望参数2是一个有效的回调,未找到函数“returnSameElementIfNotEmpty”或第27行C:\Framewor

php - array_filter 将索引数组转换为关联数组

我有一个包含一些关联数组的索引数组,我应用了一个简单的$my_arr=array_filter($my_arr,function($obj){return$obj["value"]过滤数组中的某些项目的函数。这开始让我的Angular前端出现奇怪的错误,所以几分钟后我发现$my_arr正在从索引数组转换为关联数组。这是array_filter中的预期行为吗?如何告诉array_filter我需要一个索引数组?编辑:按照评论中的要求,我的$my_arr:$my_arr=[["foo"=>"bar","value"=>10],["foo"=>"var","value"=>30],["foo

php - PHP 中的 ${$var .'s_array' } 语法是什么?

我目前正在调试一个PHPOpenCart插件,我遇到了以前从未遇到过的语法。我对它的作用和使用原因以及任何文档的链接很感兴趣。罪魁祸首如下:${$variable.'s_array'} 最佳答案 PHP中的变量可以在其声明中包含变量,如下所示:例如尝试运行此代码片段:$var="dog_name";$$var="goldenterrier";echo$dog_name;//gives"goldenterrier"现在你的情况:$variable="random_";${$variable.'s_array'}="someconten

php - 在 PUT、PATCH、DELETE ... 请求中使用 php 读取 multipart/form-data 的原始请求正文

我正在从头开始编写一个restfulapi库,现在我遇到了一个常见问题:从请求中读取来自multipart/form-data的原始数据。对于POST请求,我知道我应该使用$_FILE/$_POST变量。但是,如果存在PUT、PATCH或除POST之外的任何请求类型怎么办?这种情况可能吗?如果是这样,我如何阅读原始body内容,因为,根据documentation它不是在php://input中可用吗?注意:我已经搜索了输入格式以及如何读取它,我只想访问RAW数据。 最佳答案 ButwhatifthereisaPUT,PATCH,o

php - PDO::FETCH_ASSOC PDO::FETCH_ARRAY 是什么?

prepare("SELECTname,colourFROMfruit");$sth->execute();/*Fetchalloftheremainingrowsintheresultset*/print("Fetchalloftheremainingrowsintheresultset:\n");$result=$sth->fetchAll();print_r($result);?>上面的示例将获取结果集中所有剩余的行并输出类似于:Array([0]=>Array([NAME]=>pear[0]=>pear[COLOUR]=>green[1]=>green)[1]=>Array([

php - 如何从值中获取对象 "key"?是否有类似 array_search 的对象?

我有这样一个类:stdClassObject([id]=>1[items]=>stdClassObject([0]=>123[1]=>234[2]=>345[3]=>456)))让我们调用上面的对象$foo。假设$v=234。给定$foo和$v,如何返回“key”1?如果$foo->items是一个数组,我会简单地执行$key=array_search($v,$foo->items);。但这在对象中不起作用。如何在不遍历某些foreach中的对象的情况下找到$v的键? 最佳答案 使用get_object_vars并搜索返回的数组。引

PHP:如何对 "array"进行排序和过滤,这是一个实现 ArrayAccess 的对象?

我有一个对象,它是对象的集合,表现得像一个数组。它是一个数据库结果对象。类似于以下内容:$users=User::get();foreach($usersas$user)echo$user->name."\n";$users变量是一个实现了ArrayAccess的对象。和Countable接口(interface)。我想对这个“数组”进行排序和过滤,但我不能对它使用数组函数:$users=User::get();$users=array_filter($users,function($user){return$user->source=="Twitter";});=>Warning:a

PHP - array_map 比 foreach 快吗?

这个问题在这里已经有了答案:Performanceofforeach,array_mapwithlambdaandarray_mapwithstaticfunction(5个答案)关闭9个月前。就性能而言,哪个是更好的选择?在对象中时:案例#1publicfunctiontest($array){returnarray_map(array($this,'do_something_to_element'),$array);}案例#2publicfunctiontest($array){$return=array();foreach($arrayas$value){$return[]=do

php - 如何从 array_intersect() 获得区分大小写的返回值

我有两个数组,我需要比较它们并从array1返回匹配值。请引用下面我的代码,$array1=array("a"=>"Green","Red","Blue");$array2=array("b"=>"grEEn","yellow","red");$result=array_intersect(array_map('strtolower',$array1),array_map('strtolower',$array2));print_r($result);我的结果是,Array([a]=>green[0]=>red)但我的预期结果是我想从array1中获取它,例如:Array([a]=>G

php - Zend 框架 : How to unset data rows in a Zend_Db_Table_Rowset object

我想遍历存储在Zend_Db_Table_Rowset对象中的数据行,然后删除/取消设置一些行,如果它们不满足某些条件的话。我可以使用toArray()只从对象中获取数据行,然后很容易取消设置我不需要的行。但由于我想保留我的对象以供进一步使用,所以我不想这样做。当然,一种解决方案是调整我的查询以便仅检索我需要的内容,但在这种情况下这是不可能的。至少我不知道怎么做。我尝试了以下方法,但没有用:foreach($rowsetas$key=>$row){if(!$condition==satisfied){unset($rowset[$key]);}}当然它不起作用,因为没有$rowset[