php – array_filter将索引数组转换为关联数组
发布时间:2020-12-13 17:49:03 所属栏目:PHP教程 来源:网络整理
导读:我有一个索引数组,包含一些关联数组,我应用一个简单的 $my_arr = array_filter($my_arr,function($obj) { return $obj["value"] 100;}); 用于过滤数组中的一些项目的函数. 这开始以奇怪的方式使我的Angular前端错误,所以几分钟后我发现$my_arr正在从索引数组
我有一个索引数组,包含一些关联数组,我应用一个简单的
$my_arr = array_filter($my_arr,function($obj) { return $obj["value"] < 100; }); 用于过滤数组中的一些项目的函数. 这开始以奇怪的方式使我的Angular前端错误,所以几分钟后我发现$my_arr正在从索引数组转换为关联数组. >这是array_filter中的预期行为吗? 编辑:根据评论中的要求,我的$my_arr: $my_arr = [ ["foo" => "bar","value" => 10],["foo" => "var","value" => 30],["foo" => "car","value" => 440],["foo" => "dar","value" => 700] ] 编辑:我的代码中的真实世界提取: $media = [ "photos" => [ ["foo" => "bar","value" => 20],"value" => 50],] ]; echo json_encode($media); echo "nn"; $media["photos"] = array_filter($media["photos"],function($photo) { return $photo["value"] > 15; }); echo json_encode($media); 输出: {"photos":[{"foo":"bar","value":10},{"foo":"var","value":20},{"foo":"car","value":50}]} {"photos":{"1":{"foo":"var","2":{"foo":"car","value":50}}} 预期产量: {"photos":[{"foo":"bar","value":50}]} {"photos":[{"foo":"var","value":50}]} 解决方法
数组没有从一种类型转换为另一种类型 – 它们在PHP中是相同的.这只是array_filter()在过滤时保留键/值关联.无法自动重新索引阵列
according to the documentation,因此您必须手动完成:
$my_arr = array_values(array_filter($my_arr,function($obj) { return $obj["value"] < 100; })); (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |