草庐IT

vertex-array-object

全部标签

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 - mock & PHPUnit : method does not exist on this mock object

你能告诉我问题出在哪里吗?我有一个包含以下测试的GeneratorTest.php文件:shouldReceive('put')->with('foo.txt','foobar')->once();$generator=newGenerator($fileMock);$generator->fire();}publicfunctiontestGeneratorDoesNotOverwriteFile(){$fileMock=\Mockery::mock('\stats\jway\File');$fileMock->shouldReceive('exists')->once()->and

php - 供应商更新破坏了 FOS 用户包 "Call to a member function has() on a non-object"

我为Symfony2.8项目更新了我的供应商,突然登录页面没有加载——相反我得到了这个:Error:Calltoamemberfunctionhas()onanon-objectinvendor/symfony/symfony/src/Symfony/Bundle/FrameworkBundle/Controller/Controller.phpatline184"name":"hazardlog","license":"proprietary","type":"project","autoload":{"psr-4":{"":"src/"},"classmap":["app/AppK

php - 如何处理 "Call to a member function on a non object"

你如何确保你不会收到致命的“调用非对象上的成员函数”?Foxexample,我的模板中经常有这样的东西:(我觉得非常方便和可读):getRelatedObject()->getProperty()->formatProperty()?>但是,只有当每个方法都返回一个正确类的对象时,这才有效。但情况并非总是如此。相关对象可能不存在于数据库中,因此它返回null并且您将面临fatalerror。然后你去手动检查返回值:getRelatedObject())&&is_object($object->getRelatedObject()->getProperty())):getRelatedO

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 - PDO::FETCH_OBJECT 错误

我对PDO::FETCH_OBJECT参数有疑问。我想获取一个对象而不是一个数组,但是当我尝试这样做时:try{$conn=newPDO('mysql:host=localhost;dbname=washngo',$config['DB_USERNAME'],$config['DB_PASSWORD']);$conn->setAttribute(PDO::ATTR_ERRMODE,PDO::ERRMODE_EXCEPTION);//Fetcherrorsbydefault(displayanyerrorsduringthedevelopmentprocess)$stmt=$conn->

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