使用 array_map 在数组中调用对象的方法?
在 PHP 5.3 版本中,可以使用以下代码调用数组中对象的函数 -
$props = array_map(function($obj){ return $obj->getProp(); }, $objs);
这样做比“for”循环要慢,因为它调用每个元素的一个函数 -
function map($obj) { return $obj->getProperty(); } $props = array_map('map', $objs);
或者,对于 5.3 之前的 PHP 版本,可以使用以下代码 -
function map($obj) { return $obj-> getProperty (); } $props = array_map('map', $objs); }
getProperty 方法将调用所有对象,并显示特定属性。其他 -
function encode_data($val){ if(is_array($val)){ return $val = array_map('encode_data', $val); } else { return utf8_encode($val); } } $value = array_map('encode_data', $value); print_r($value);
将显示值的 utf8 编码数据。
广告