如何用PHP实现JS filter功能?对象数组过滤代码转换
把JavaScript的filter逻辑转换为PHP代码
你完全可以用array_filter()处理这类关联数组(对应JavaScript里的对象数组),它并不局限于简单数组。下面是对应你JavaScript代码的PHP实现:
// 对应JS中的对象数组,PHP里用关联数组表示 $example = [ ['id' => '1', 'name' => 'abc', 'type' => '123'], ['id' => '2', 'name' => 'def', 'type' => '345'], ['id' => '3', 'name' => 'ghi', 'type' => '678'], ['id' => '4', 'name' => 'lmn', 'type' => '901'] ]; // 使用array_filter实现和JS filter一致的逻辑 $res = array_filter($example, function($x) { // 对应JS的Number(x.id),PHP里转为int类型 return $x['type'] != '901' && (int)$x['id'] >= 2; }); // 输出结果,可根据需求用print_r或var_dump print_r($res);
这段代码的逻辑和你原本的JavaScript完全一致:
- PHP中用关联数组替代了JavaScript的对象
array_filter()的回调函数里,我们同样判断两个条件:type不等于'901',且id转为整数后大于等于2- 最终
$res会保留符合条件的数组元素,和JS里的res结果完全对应
内容的提问来源于stack exchange,提问作者Gi__ss
相关产品推荐
相关产品推荐

