我有这个对象数组。但是我只想取出满足一定条件的物体。如果您查看"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
谢谢你看这个
可以,但是你必须自己编写代码,像这样:
$results = array();
foreach ($source as $obj) {
if (strpos($obj->post_title, ',') === false) {
$results[] = $obj;
}
}
// $results will now have the elements filtered
检查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');
你试过了吗?您只需遍历数组并使用相关结果构建一个新数组。或者你可以使用array_filter,像这样:
function hasComma( $object ) {
if( strpos( $object->post_title, ',' ) ) {
return false;
} else {
return true;
}
}
var_dump( array_filter( $array, 'hasComma' ) );