Maison > Article > développement back-end > Trois façons d'implémenter des opérations en chaîne en PHP
Cet article présente principalement les trois méthodes de PHP pour implémenter les opérations en chaîne, et analyse les techniques d'implémentation pertinentes et les précautions d'utilisation des opérations en chaîne PHP sous forme d'exemples. Les amis dans le besoin peuvent se référer à
pour plus de détails. Comme suit :
Il existe de nombreuses fonctions de chaîne en php. Par exemple, vous devez d'abord filtrer les espaces à la fin de la chaîne, puis trouver sa longueur. La manière générale d'écrire est :
.strlen(trim($str))
Si vous souhaitez implémenter une opération en chaîne similaire à celle de js, par exemple, comment devez-vous l'écrire comme suit ?
$str->trim()->strlen()
Voici trois façons d'y parvenir :
Méthode 1. Utiliser la magie La fonction __call est combinée avec call_user_func pour implémenter
Idée : Définissez d'abord une classe de chaîne StringHelper, le constructeur attribue directement une valeur, puis appelle les fonctions trim() et strlen() dans une chaîne, en utilisant call_user_func dans la fonction magique appelée __call() pour gérer la relation d'appel, l'implémentation est la suivante :
<?php class StringHelper { private $value; function __construct($value) { $this->value = $value; } function __call($function, $args){ $this->value = call_user_func($function, $this->value, $args[0]); return $this; } function strlen() { return strlen($this->value); } } $str = new StringHelper(" sd f 0"); echo $str->trim('0')->strlen();
Terminal Exécuter le script :
php test.php 8
Méthode 2. Utiliser la fonction magique __call combinée avec call_user_func_array à mettre en œuvre
<?php class StringHelper { private $value; function __construct($value) { $this->value = $value; } function __call($function, $args){ array_unshift($args, $this->value); $this->value = call_user_func_array($function, $args); return $this; } function strlen() { return strlen($this->value); } } $str = new StringHelper(" sd f 0"); echo $str->trim('0')->strlen();
Description :
array_unshift (array,value1,value2, value3...)
array_unshift()
la fonction est utilisée pour insérer de nouveaux éléments dans le tableau. Les valeurs du nouveau tableau seront insérées au début du tableau.
call_user_func()
et call_user_func_array
sont deux méthodes d'appel dynamique de fonctions. La différence réside dans la manière dont les paramètres sont transmis.
Troisième méthode, n'utilisez pas la fonction magique __call pour implémenter
Modifiez simplement _call()
en fonction trim()
:
public function trim($t) { $this->value = trim($this->value, $t); return $this; }
Le point clé est que le pointeur $this est renvoyé pour faciliter l'appel de cette dernière fonction.
Interroger la chaîne php contenant les données spécifiées
Caractères en PHP trois façons d'exprimer des chaînes
Fonctions de chaîne couramment utilisées en php
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!