Pour être certain qu’une variable devant obligatoirement contenir une chaîne de caractère contenait bien une chaîne de caractère après un appel à la fonction substr(), j’ai eu recours au code $string = substr($string, $index) ?: '';.

En effet, si la fonction substr() ne parvient pas à extraire la chaîne demandée, elle retourne le booléen false.

Recourir à l’opérateur ?: (aka l'opérateur elvis) m’a donc semblé une très bonne idée pour mettre une chaîne vide dans ma variable dans ce cas de figure et être ainsi toujours certain de manipuler une chaîne de caractère après mon appel à substr().

Ainsi, à l'aide d'une fonctionnalité moderne de PHP, j'obtenais un code concis mais restant très lisible.

Sauf qu’en fait, c’était une très mauvaise idée, et je l’ai compris grâce à mes tests unitaires.