我有这个对象数组。但是我想只拔出符合某个标准的物体。如果你查看“post_title”键,我想只在不包含逗号的情况下拉出对象。这可能吗?
所以在我下面的例子中,我想在索引2中拉出数组,因为那是唯一一个在“post_title”键中没有逗号的数组。
Array
(
[0] => stdClass Object
(
[ID] => 504
[post_title] => Playroom (Black, Custom 2)
)
[1] => stdClass Object
(
[ID] => 503
[post_title] => Playroom (Black, Custom 1)
)
[2] => stdClass Object
(
[ID] => 252
[post_title] => Play (Black)
)
)
1
感谢您关注此事。
答案 0 :(得分:0)
是的,你可以,但你必须自己编码,如下:
$results = array();
foreach ($source as $obj) {
if (strpos($obj->post_title, ',') === false) {
$results[] = $obj;
}
}
// $results will now have the elements filtered
答案 1 :(得分:0)
检查array_filter函数 - http://php.net/manual/en/function.array-filter.php
$myArray = /*snip*/;
function titleDoesNotContainComma($object) {
return strpos($object->post_title, ',') === false;
}
$filteredArray = array_filter($myArray, 'titleDoesNotContainComma');
答案 2 :(得分:0)
你有什么尝试?您可以直接对阵列进行操作,并使用相关结果构建一个新数组。或者你可以使用array_filter,如下所示:
function hasComma( $object ) {
if( strpos( $object->post_title, ',' ) ) {
return false;
} else {
return true;
}
}
var_dump( array_filter( $array, 'hasComma' ) );