处理对象数组(例如猫对象数组)时,提取特定属性通常可以成为一项必要的任务。在这种特殊情况下,我们的目标是将每个 cat 对象的 id 属性提取到一个新数组中。
正如您的问题中所建议的,一种方法涉及使用 array_walk() 和 create_function 。虽然这种方法当然可行,但存在更优雅、更高效的解决方案。
在 PHP 7.0 中引入,array_column() 函数提供了一种提取特定属性的简单方法来自对象数组。语法如下:
array_column(array $input, string $column_key, string $index_key = null): array
在我们的例子中,我们可以使用 array_column() 来从 $cats 数组中提取 id 属性:
$catIds = array_column($cats, 'id');
$catIds 变量现在将包含猫 ID 数组,从而可以根据需要轻松访问和操作这些值。
需要注意的是,正如问题答案中提到的,array_column()函数要求源数组是数组或可转换为数组。如果您的 $cats 数组不是数组,您需要首先使用 get_object_vars() 函数对其进行转换。
使用此方法,您可以轻松有效地从其中提取一列属性对象数组,简化您的 PHP 开发任务。
免责声明: 提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发到邮箱:[email protected] 我们会第一时间内为您处理。
Copyright© 2022 湘ICP备2022001581号-3