PHP:从对象数组中高效提取一列属性
许多编程场景都涉及使用对象数组,其中每个对象可能有多个属性。有时,需要从每个对象中提取特定属性以形成单独的数组。在 PHP 中,在不借助循环或外部函数的情况下用一行代码实现此目标可能很棘手。
一种可能的方法是利用 array_walk() 函数和 create_function。然而,PHP 7.0 及更高版本中提供了更简单、更优雅的解决方案。
array_column() 来拯救
array_column() 函数是在 PHP 7.0 中引入的并允许您从数组数组或对象数组中提取特定列的数据。只需传入对象数组作为第一个参数,并将所需属性的名称作为第二个参数传递即可:
$idCats = array_column($cats, 'id');
在此示例中,$idCats 变量现在将包含所有猫对象的 ID 数组。
7.0 之前的 PHP 版本注意事项
如果您使用早于 7.0 的 PHP 版本,您仍然可以使用 array_map() 函数:
$idCats = array_map(function($cat) { return $cat->id; }, $cats);
虽然这个方法稍微冗长一些,但它达到了相同的结果。
通过利用 array_column() 或 array_map(),您可以有效地从数组中提取一列属性PHP 中的对象,使您能够简化代码并提高性能。
免责声明: 提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发到邮箱:[email protected] 我们会第一时间内为您处理。
Copyright© 2022 湘ICP备2022001581号-3