[PHP] Convertir une chaîne en un tableau de caractères
Publié le 05/12/2019 • Actualisé le 05/12/2019
La fonction str_split
n'est pas très connue. Elle convertit une chaîne en un tableau de caractères (avec le deuxième paramètre par défaut). C'est parfois utile pour éviter d'avoir à déclarer un tableau manuellement comme ici pour la fonction str_replace
.
<?php
declare(strict_types=1);
namespace App\Controller\Snippet;
/**
* J'utilise un trait PHP afin d'isoler chaque snippet dans un fichier.
* Ce code doit être apellé d'un contrôleur Symfony étendant AbstractController (depuis Symfony 4.2)
* ou Symfony\Bundle\FrameworkBundle\Controller\Controller (Symfony <= 4.1).
* Les services sont injectés dans le constructeur du contrôleur principal.
*/
trait Snippet62Trait
{
public function snippet62(): void
{
$tokenSize = 32;
$random = random_bytes($tokenSize);
$base = base64_encode($random);
$clean = str_replace(str_split('+/-_'), '', $base);
$cut = substr($clean, 0, $tokenSize);
echo 'Token: '.$cut.PHP_EOL;
echo 'Token length: '.\strlen($cut); // That's it! 😁
}
}
Exécuter le snippet Plus sur Stackoverflow Lire la doc Lancer sur 3v4l.org Snippet aléatoire