Cet article présente principalement la méthode d'implémentation de l'ordre inverse des chaînes en PHP.Il résume et analyse la fonction strrev, la méthode de bissection, la méthode de boucle, la méthode de récursion et d'autres techniques d'implémentation d'opérations d'ordre inverse de chaîne couramment utilisées sous forme d'exemples. dans le besoin peuvent s'y référer. Les détails ci-dessous
sont les suivants :
Concernant l'ordre inverse des chaînes, le code de test le plus simple utilisant la fonction PHP strrev() est le suivant :
header('Content-type: text/html; charset=utf-8'); $str = implode('', range(9, 0)); print '< p><strong>Before reversed: </strong>'.$str.'< /p>'; print '< p>< strong>After reversed: < /strong>'.strrev($str).'< /p>'; /* 输出如下: Before reversed: 9876543210 After reversed: 0123456789 */
Comment implémenter cela sans utiliser la fonction PHP intégrée strrev() ? Trois méthodes supplémentaires (méthode de bissection, méthode de boucle, méthode récursive) sont données ici, mais aucun test de performances n'est effectué.
1. Dichotomie
/** * 二分法实现字符串逆序排列 * @param string $str 源字符串 * @return string 返回逆序后的字符串 */ function reverse($str='') { $len = strlen($str); //不能使用count或sizeof $mid = floor($len/2); for ($i=0; $i<$mid; $i++) { $temp = $str[$i]; $str[$i] = $str[$len-$i-1]; $str[$len-$i-1] = $temp; } return $str; }
2. 🎜>
/** * 循环实现对字符串的逆序排列(效率比二分法低) * @param string $str 源字符串 * @return string 返回逆序后的字符串 */ function reverse($str='') { $result = ''; for ($i=1; $i<=strlen($str); $i++) { $result .= substr($str, -$i, 1); } return $result; }
3. Méthode récursive
/** * 递归实现对字符串的逆序排列(效率低) * @param string $str 源字符串 * @return string 返回逆序后的字符串 */ function reverse($str='') { static $result = ''; /* 用堆栈来理解递归调用 */ if (strlen($str) > 0) { reverse(substr($str, 1)); $result .= substr($str, 0, 1); //此句必须放在上一语句之后 } return $result; }
méthode php pour obtenir un nombre spécifié de chaînes aléatoires
php implémente l'interception personnalisée de la stringversion -utf8 chinoise
php searchstring Explication détaillée d'intercepter la première position non-0 dans
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!