Maison >développement back-end >Problème PHP >Quelle est la fonction pour trouver la longueur d'une chaîne en php

Quelle est la fonction pour trouver la longueur d'une chaîne en php

青灯夜游
青灯夜游original
2022-06-29 15:09:005882parcourir

Il existe deux fonctions en PHP pour trouver la longueur d'une chaîne : 1. La fonction strlen() peut calculer la longueur d'une chaîne anglaise, et la syntaxe est "strlen($string)" ; La fonction peut définir le codage des caractères, calculer la longueur d'une chaîne anglaise, d'une chaîne chinoise ou d'une chaîne mixte chinois-anglais, la syntaxe est "mb_strlen($string,"Character encoding")".

Quelle est la fonction pour trouver la longueur d'une chaîne en php

L'environnement d'exploitation de ce tutoriel : système Windows 7, PHP version 8.1, ordinateur DELL G3

Il existe deux fonctions couramment utilisées en PHP pour calculer la longueur d'une chaîne, à savoir strlen() et mb_strlen( ) fonctions. Lorsqu'il s'agit de chaînes entièrement anglaises, l'effet de ces deux fonctions est le même, mais lorsqu'il s'agit de chaînes mixtes de chinois et d'anglais ou de chinois pur, ces deux fonctions auront quelques différences :

  • La fonction strlen() peut calculer le longueur de la chaîne anglaise, mais pour les chaînes mixtes chinois et anglais ou les chaînes chinoises pures, la longueur ne peut pas être calculée avec précision. La fonction

  • mb_strlen() peut calculer la longueur d'une chaîne anglaise, d'une chaîne chinoise ou d'une chaîne mixte chinois et anglais.

1. La fonction strlen() trouve la longueur d'une chaîne. La fonction strlen() peut renvoyer la longueur d'une chaîne donnée. Sa syntaxe est la suivante :

strlen($string)

Le paramètre $string est le. caractère dont la longueur doit être calculée. Renvoie 0 si $string est vide.
  • Remarque : Dans la fonction strlen(), les nombres, l'anglais, le point décimal, le soulignement et l'espace occupent un caractère ; tandis qu'un caractère chinois codé GB2312 occupe deux caractères et un caractère chinois codé UTF-8 occupe trois longueurs de caractères.

Exemple : la chaîne

<?php
header("Content-type:text/html;charset=utf-8");
$str = "hello world!";
echo &#39;字符串 “&#39;.$str.&#39;” 的长度为:&#39;.strlen($str).&#39;<br>&#39;;
?>
$str contient 10 lettres anglaises, 1 espace et 1 point d'exclamation anglais, soit un total de 12 caractères, la longueur de sortie est donc de 12.

Mais la fonction strlen() n'est pas adaptée pour calculer la longueur des chaînes chinoises, car dans cette fonction, un caractère chinois codé GB2312 occupe deux caractères de longueur, et un caractère chinois codé UTF-8 en occupe trois. caractères en longueur. Quelle est la fonction pour trouver la longueur dune chaîne en php

<?php
header("Content-type:text/html;charset=utf-8");
$str = "hello 你好!";
echo &#39;字符串 “&#39;.$str.&#39;” 的长度为:&#39;.strlen($str).&#39;<br>&#39;;
?>

Quelle est la fonction pour trouver la longueur dune chaîne en php2. La fonction mb_strlen() trouve la longueur d'une chaîne. La fonction mb_strlen() peut également renvoyer la longueur d'une chaîne. Le format de syntaxe est le suivant :

mb_strlen($str [, $encoding = mb_internal_encoding()])

$str est. la chaîne dont la longueur doit être calculée.

    $encoding est un paramètre facultatif, qui est le codage des caractères. S'il est omis, le codage des caractères interne est utilisé. La valeur de retour de la fonction
  • mb_strlen() est le nombre de caractères contenus dans la chaîne $str avec l'encodage $encoding Si $encoding n'est pas valide, false est renvoyé.
  • Remarque : contrairement à la fonction strlen(), dans la fonction mb_strlen(), qu'il s'agisse de caractères chinois, d'anglais, de chiffres, de points décimaux, de traits de soulignement et d'espaces, ils n'occupent qu'un seul caractère en longueur.

【Exemple】 Utilisez la fonction mb_strlen() pour obtenir la longueur de la chaîne.

<?php
header("Content-type:text/html;charset=utf-8");
$str = "hello 你好!";
echo &#39;字符串 “&#39;.$str.&#39;” 的长度为:&#39;.mb_strlen($str,"utf-8").&#39;<br>&#39;;

$str = "欢迎来到PHP中文网!";
echo &#39;<br>字符串 “&#39;.$str.&#39;” 的长度为:&#39;.mb_strlen($str,&#39;utf-8&#39;).&#39;<br>&#39;;
?>

On peut voir que nous pouvons bien gérer le problème de longueur des cordes chinoises en définissant les paramètres

correspondants.

Apprentissage recommandé : "Quelle est la fonction pour trouver la longueur dune chaîne en phpTutoriel vidéo 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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn