所以当var dump时,我有一个变量$offices['results']
会像这样输出:
array() {
[0]=>
object(stdClass)#16067 (24) {
["id"]=>
string(1) "4"
["blog_id"]=>
string(2) "10"
["office_name"]=>
string(0) "Japan"
}
[1]=>
object(stdClass)#16064 (24) {
["id"]=>
string(1) "5"
["blog_id"]=>
string(2) "11"
["office_name"]=>
string(0) "USA"
}
[2]=>
object(stdClass)#16064 (24) {
["id"]=>
string(1) "5"
["blog_id"]=>
string(2) "12"
["office_name"]=>
string(0) "USA"
}
}
我只想创建一个blog_id
为10
和12
的新数组变量,它将返回:
array() {
[0]=>
object(stdClass)#16067 (24) {
["id"]=>
string(1) "4"
["blog_id"]=>
string(2) "10"
["office_name"]=>
string(0) "Japan"
}
[1]=>
object(stdClass)#16064 (24) {
["id"]=>
string(1) "5"
["blog_id"]=>
string(2) "12"
["office_name"]=>
string(0) "USA"
}
}
我尝试使用array_filter,但无法正常工作。
$array = $offices['results'];
$like = '11','12';
$result = array_filter($array, function ($item) use ($like) {
if (stripos($item['blog_id'], $like) !== false) {
return true;
}
return false;
});
var_dump($result);
希望您能帮助我。谢谢
答案 0 :(得分:1)
未经测试,但是用array_filter()
怎么办?
$filterBy = [10,12];
$array = $offices['results'];
$newArray = array_filter($array, function ($var) use ($filterBy) {
return in_array($var->blog_id,$filterBy);
});
答案 1 :(得分:1)
您可以遍历此array
并检查blog_id
是否存在
但首先,让我们为您要的array
分配一个blog_id
$blogs = [10, 12];
之后,您可以开始遍历数据
$result = [];
foreach($data as $blog){
if(in_array($blog->blog_id, $blogs)){
$result[] = $blog;
}
}