从 foreach 将值推入空数组

Push values into an empty array from foreach

我有一个从数据库中检索到的对象集合,输出为 [{"id":"5"},{"id":"76"},{"id":"33"} ].我希望输出为:[5, 76, 33].

我尝试使用下面的代码执行此操作,但没有成功。在 laravel.

工作
$UserNot = [2,3];
$allverified = array();
$verified = App\Models\User::whereNotIn('id', $UserNot)->select('id')->where('role', 'verified')->get()->take(5);

foreach ($verified as $veribadge) {
    $king = $veribadge->id;
    $allverified[] = $king;
}

您可以使用 pluck 直接从数据库执行此操作,而无需启动用户实例集合并循环它。

$UserNot = [2,3];
$allverified = App\Models\User::query()
    ->whereNotIn('id', $UserNot)
    ->where('role', 'verified')
    ->pluck('id')
    ->toArray();

我建议先使用命名空间:‌

use App\Models\User;

为了更简洁的编码,最好删除 $UserNot 并将相关代码直接放在查询中:

$verifiedUsers = User::query()
    ->whereNotIn('id', [2,3])
    ->where('role', 'verified')
    ->pluck('id')
    ->toArray();