In PHP, how do I filter objects with strong typing?

In PHP, you can filter objects using strong typing and type hints. This allows you to ensure that the passed arguments are of a certain class type, which can be very useful for filtering collections of objects.

keywords: PHP, strong typing, type hinting, object filtering, programming
description: This example demonstrates how to filter an array of objects in PHP using strong typing with type hints in a method.
<?php class Animal { public string $name; public function __construct(string $name) { $this->name = $name; } } class Dog extends Animal { public function bark() { return "{$this->name} says woof!"; } } class Cat extends Animal { public function meow() { return "{$this->name} says meow!"; } } function filterDogs(array $animals): array { return array_filter($animals, fn($animal) => $animal instanceof Dog); } // Usage example $animals = [ new Dog("Buddy"), new Cat("Whiskers"), new Dog("Max"), new Cat("Mittens") ]; $dogs = filterDogs($animals); print_r($dogs); ?>

keywords: PHP strong typing type hinting object filtering programming