Nouvelles fonctions sur Php.7

 

  • spaceship operator <=> :  retourne 0 si les deux expressions sont égales, 1 si gauche > droite, -1 si gauche < droite.

 

 

 

 

  • opérateur ?? : si une variable existe, le contenu de cette variable est renvoyé, sinon l'opérateur renvoie une chaîne prédéfinie.
<?php
echo 10 <=> 10; // 0
echo 1 <=> 2; //-1
echo 2 <=> 1; //1
<?php
$prenom = $_GET['user'] ?? 'personne'; //retournera 'personne' si 'user' n'a pas de valeur

Nouveaux opérateurs :

 

Il est possible de définir le type de valeur que doit retourner la fonction.

 

<?php
function foo(): array {
    return [];
} // ok
     
function bar(): int {
    return '123';
} // pas ok

Déclaration de fonction :

 

Permet de génèrer un entier pseudo aléatoire crypté sécurisé.

 

<?php
var_dump(random_int(100, 999)); //326 dans notre cas. 

Random int :

 

Permet de retourner un entier qui est le quotient de la division du dividende par le diviseur.

<?php
var_dump(intdiv(3, 2)); //int(1)
var_dump(intdiv(-3, 2)); //int(-1)

Int division :

Permet d'effectuer une recherche et un remplacement (search and replace) d'expression rationnelle à l'aide de rappels.

<?php
$subject = 'Aaaaaa Bbb';

preg_replace_callback_array(
    [
        '~[a]+~i' => function ($match) {
            echo strlen($match[0]), ' matches for "a" found', PHP_EOL;
        },
        '~[b]+~i' => function ($match) {
            echo strlen($match[0]), ' matches for "b" found', PHP_EOL;
        }
    ],
    $subject
);
//6 matches for "a" found
//3 matches for "b" found

Preg replace callback array() :

Nouvelles fonctions sur Php.7

By adelep

Nouvelles fonctions sur Php.7

  • 124