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

更新于:2020 年 4 月 7 日

1000+ 浏览

启动您的 事业

完成课程获得认证

开始吧
广告