首页  >  文章  >  后端开发  >  如何从 PHP 中的对象数组中提取一列属性?

如何从 PHP 中的对象数组中提取一列属性?

Mary-Kate Olsen
Mary-Kate Olsen原创
2024-10-20 09:02:30483浏览

How to Extract a Column of Properties from an Array of Objects in PHP?

PHP:从对象数组中高效提取一列属性

许多编程场景都涉及使用对象数组,其中每个对象可能有多个属性。有时,需要从每个对象中提取特定属性以形成单独的数组。在 PHP 中,在不借助循环或外部函数的情况下用一行代码实现此目标可能很棘手。

一种可能的方法是利用 array_walk() 函数和 create_function。然而,PHP 7.0 及更高版本中提供了更简单、更优雅的解决方案。

array_column() 来救援

array_column() 函数是在 PHP 7.0 中引入的并允许您从数组数组或对象数组中提取特定列的数据。只需传入对象数组作为第一个参数,并将所需属性的名称作为第二个参数传递即可:

<code class="php">$idCats = array_column($cats, 'id');</code>

在此示例中,$idCats 变量现在将包含所有对象的 ID 的数组。猫对象。

7.0 之前的 PHP 版本注意事项

如果您使用 7.0 之前的 PHP 版本,您仍然可以使用 array_map() 函数:

<code class="php">$idCats = array_map(function($cat) { return $cat->id; }, $cats);</code>

虽然这个方法稍微冗长一些,但它达到了相同的结果。

通过利用 array_column() 或 array_map(),您可以有效地从数组中提取一列属性PHP 中的对象,使您能够简化代码并提高性能。

以上是如何从 PHP 中的对象数组中提取一列属性?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn