使用array_map的数组对象的PHP调用方法?

在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编码数据。