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

phpserver side programmingprogramming更新于 2025/7/22 9:22:17

在 PHP 5.3 版本中,可以使用以下代码调用数组中对象的方法 −

$props = array_map(function($obj){ return $obj->getProp(); }, $objs);

这会比 ‘for’ 循环慢,因为它会为每个元素调用一个函数 −

function map($obj) {
   return $obj->getProperty();
}
$props = array_map('map', $objs);

或者,对于 PHP 5.3 之前的版本,可以使用以下代码 −

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 编码数据将被显示。


相关文章