📜  如果错误,laravel 跳过循环 - PHP (1)

📅  最后修改于: 2023-12-03 15:25:01.585000             🧑  作者: Mango

如果错误,laravel 跳过循环 - PHP

在使用 Laravel 框架进行开发时,循环遍历数组时可能会遇到一些错误,例如数组中不存在某个键值对应的值。在这种情况下,程序将会抛出异常并中断执行。如果希望程序能够不因此而中断,可以使用 Laravel 提供的 Arr::get()data_get() 函数进行判断。

使用 Arr::get()

Arr::get() 函数可以通过指定默认值来避免抛出异常。

$value = Arr::get($array, 'key', $default);

如果 $array 数组中不存在键为 'key' 的值,那么 $default 的值将被返回。

使用 data_get()

data_get() 函数则可以通过判断是否为 null 来避免抛出异常,而无需指定默认值。

$value = data_get($array, 'key');

如果 $array 数组中不存在键为 'key' 的值,那么 null 将被返回。

示例代码

综上所述,以下是一个在遍历数组时使用 data_get() 函数进行判断的示例代码:

@foreach($users as $user)
    <tr>
        <td>{{ $user->id }}</td>
        <td>{{ $user->name }}</td>
        <td>{{ $user->email }}</td>
        <td>{{ data_get($user, 'profile.phone_number') }}</td>
        <td>{{ data_get($user, 'profile.address.city') }}</td>
    </tr>
@endforeach

在上述代码中,如果 $user 对象中的 profile 属性不存在,程序将不会因为试图访问 profile.phone_numberprofile.address.city 而抛出异常,而是会设其值为 null