GeneralFunctions\propertyEquals()

predicate returns Closure returns bool pure
(string, mixed) → (Record → bool)
At a glance — Equality-by-property check. Perfect for filtering a list of records by a single field.

Creates a predicate Closure that is true when a given property/index on a record is equal to the expected value.

/**
  * @param string $property
  * @param mixed $value
  * @return Closure(mixed[]|object):bool
  */
GeneralFunctions\propertyEquals(string $property, $value): Closure

Returned Closure

When GeneralFunctions\propertyEquals() is called, it returns the following Closure which can be used like a regular function.

/**
  * @param array|object $record
  * @return bool
  */
$function ($record): bool

Examples

Partial Application

This can be used to create a simple closure which can be used as a regular function.

$isAdmin = GeneralFunctions\propertyEquals('role', 'admin');

$users = [
  ['name' => 'Ada', 'role' => 'admin'],
  ['name' => 'Bea', 'role' => 'user'],
  ['name' => 'Cal', 'role' => 'admin'],
];

print_r(array_filter($users, $isAdmin));
// [Ada, Cal]

Details

General Functions

Releated Property access Functions