Функция filled
Функция filled проверяет, что переданное значение не является пустым. Она возвращает true, если значение существует и не равно null, пустой строке, пустому массиву или числу 0. В противном случае возвращается false. Функция является противоположностью функции blank.
В отличие от стандартной функции PHP isset, filled учитывает различные типы данных и определяет "заполненность" по правилам Laravel. Это делает её более удобной для проверки пользовательского ввода, данных из форм и результатов запросов.
Синтаксис
<?php
filled($value);
?>
Пример
Давайте проверим различные значения на заполненность:
<?php
$res1 = filled('hello');
$res2 = filled(123);
$res3 = filled(0);
$res4 = filled(null);
$res5 = filled('');
$res6 = filled([]);
$res7 = filled(['a']);
echo $res1;
echo $res2;
echo $res3;
echo $res4;
echo $res5;
echo $res6;
echo $res7;
?>
Результат выполнения кода:
true
true
false
false
false
false
true
Пример
Проверим заполненность поля в запросе. Для примера возьмём параметр 'name' из массива $_GET:
<?php
$params = ['name' => 'John', 'age' => 0, 'city' => ''];
foreach ($params as $key => $value) {
if (filled($value)) {
echo $key . ' is filled';
} else {
echo $key . ' is empty';
}
}
?>
Результат выполнения кода:
"name is filled"
"age is empty"
"city is empty"
Пример
Часто filled применяется совместно с условными операторами для проверки наличия данных в коллекции:
<?php
$data = collect(['name' => 'Laravel', 'version' => 11]);
if (filled($data->get('name'))) {
echo 'Name exists';
}
if (filled($data->get('description'))) {
echo 'Description exists';
}
?>
Результат выполнения кода:
"Name exists"
Пример
Функция filled также полезна при работе с моделями Eloquent для проверки существования атрибута:
<?php
namespace App\Http\Controllers;
use App\Models\User;
class UserController extends Controller
{
public function index()
{
$user = User::find(1);
if (filled($user->email)) {
echo 'User has email';
}
if (filled($user->phone)) {
echo 'User has phone';
}
}
}
?>
Результат выполнения кода:
"User has email"
Смотрите также
-
функция
blank,
которая проверяет, является ли значение пустым -
функция
optional,
которая позволяет безопасно обращаться к свойствам объекта -
класс
Collection,
который предоставляет методы для работы с данными -
метод
isEmpty,
который проверяет, пуста ли коллекция