php搜索对象数组以查找指针和索引的最快方法
PHP版本:5.3 在Wordpress中,我有一个具有这种格式的类别中所有帖子的数组php搜索对象数组以查找指针和索引的最快方法,php,multidimensional-array,Php,Multidimensional Array,PHP版本:5.3 在Wordpress中,我有一个具有这种格式的类别中所有帖子的数组 array 0 => public 'ID' => int 360 public 'post_title' => string 'Batman v Superman: Dawn of Justice' 1 => public 'ID' => int 371 public 'post_title' => strin
array
0 =>
public 'ID' => int 360
public 'post_title' => string 'Batman v Superman: Dawn of Justice'
1 =>
public 'ID' => int 371
public 'post_title' => string 'Star Wars: Episode VII - The Force Awakens'
... =>
知道当前帖子的“帖子标题”后,使用“帖子标题”作为指针搜索数组并找到其索引的最有效方法是什么?PHP7+ 本机函数通常最快,因为它们可以在PHP解释器中进行优化:
array_search($post_title, array_column($yourArray, 'post_title'));
array\u column
正在将对象数组转换为索引=>post title的简单数组array\u search
然后扫描该数组,查找与正在搜索的标题匹配的索引
PHP5.3 PHP 5.3不受支持,不应再使用,但如果您没有选择,
array\u column
不可用,因此我将使用:
array_search($post_title,
array_map(function($object) {
return $object->post_title;
},
$yourArray
)
);
PHP7+ 本机函数通常最快,因为它们可以在PHP解释器中进行优化:
array_search($post_title, array_column($yourArray, 'post_title'));
array\u column
正在将对象数组转换为索引=>post title的简单数组array\u search
然后扫描该数组,查找与正在搜索的标题匹配的索引
PHP5.3 PHP 5.3不受支持,不应再使用,但如果您没有选择,
array\u column
不可用,因此我将使用:
array_search($post_title,
array_map(function($object) {
return $object->post_title;
},
$yourArray
)
);
@AbraCadaver
array\u column
用于对象阵列。从文档中:如果提供了一个对象数组,那么就可以直接提取公共属性。
:从PHP7开始,如果OP甚至有>=5.5的包含数组的列()
:-)谢谢你,Matt。对不起,我应该指定PHP的版本,5.3。在5.5版本之前,有没有一种方法可以像array_column一样高效?非常好用。感谢you@AbraCadaverarray\u column
适用于对象数组。从文档中:如果提供了一个对象数组,那么就可以直接提取公共属性。
:从PHP7开始,如果OP甚至有>=5.5的包含数组的列()
:-)谢谢你,Matt。对不起,我应该指定PHP的版本,5.3。在5.5版本之前,有没有一种方法可以像array_column一样高效?非常好用。感谢您在PHP<5.5版本上为我们提供了一个与数组_列兼容的函数。在PHP<5.5版本上为我们提供了一个与数组_列兼容的函数。