МБ так?
$arrays = [
['hello' => 'world 0', 1, 2, 3, 4],
['hello' => 'world 1'],
['hello' => 'world 2', 5, 6, 7],
['hello' => 'world 3', 5, 6, 7, 8, 9]
];
$newArray = array_reduce($arrays, function ($carry, $item) {
if (isset($item['hello']) && $item['hello'] === 'world 2' || $item['hello'] === 'world 0') {
$carry = array_merge($carry, $item);
}
return $carry;
}, []);
Получим такое
array(8) {
["hello"]=>
string(7) "world 2"
[0]=>
int(1)
[1]=>
int(2)
[2]=>
int(3)
[3]=>
int(4)
[4]=>
int(5)
[5]=>
int(6)
[6]=>
int(7)
}