Maison >développement back-end >Problème PHP >Comment connaître la longueur d'une chaîne en php

Comment connaître la longueur d'une chaîne en php

醉折花枝作酒筹
醉折花枝作酒筹original
2021-08-06 14:49:176256parcourir

Dans l'article précédent, nous avons appris à utiliser l'algorithme « naturel » pour connaître les similitudes et les différences des chaînes. Si vous en avez besoin, veuillez lire « Comment comparer les similitudes et les différences des chaînes avec l'algorithme « naturel » dans. PHP (sensible à la casse)". Cette fois nous allons vous présenter la méthode pour obtenir la longueur d'une chaîne. Vous pouvez vous y référer si vous en avez besoin.

En php, nous devons connaître la longueur de la chaîne pour pouvoir faire certaines choses et comprendre la chaîne. Alors sans plus tarder, voyons comment obtenir des fonctions de chaîne.

Regardons d’abord un petit exemple.

<?php
echo strlen("World grand, welcome home!");
?>

Le résultat de ce petit exemple est

Comment connaître la longueur dune chaîne en php

Quand j'ai vu cette réponse, je me demande si mes amis ont compté cette chaîne du début à la fin. Permettez-moi de commencer par dire que vous devez le compter une fois. Et si cette fonction est fausse ? Ensuite, je me sens tellement accompli. Mais j'ai compté du début à la fin et j'ai constaté que la durée de cette fonction est en réalité de 26.

Il n'y a aucun problème avec cette fonction, alors parlons de cette fonction. La fonction

strlen() renvoie la longueur de la chaîne (nombre d'octets). strlen() est souvent utilisé dans les boucles et autres fonctions lorsqu'il est important de déterminer quand une chaîne se termine. (Par exemple, dans une boucle, nous devons terminer la boucle après le dernier caractère de la chaîne)

Regardons ensuite un autre exemple.

<?php
echo strlen("世界盛大,欢迎回家!");
?>

Le résultat est

Comment connaître la longueur dune chaîne en php

J'ai trouvé que la réponse est différente de l'exemple ci-dessus, n'est-ce pas ? Un paramètre est en chinois et un paramètre est en anglais. Y a-t-il une si grande différence ? Les caractères chinois et les signes de ponctuation ne font évidemment que 10 caractères. Pourquoi celui-ci fait-il vraiment 30 caractères ?

Les mots chinois et les mots anglais sont bien sûr très différents. Et les octets occupés par chaque lettre sont différents sous différents encodages. Sous le

code ASCII

, une lettre anglaise (indépendamment des majuscules et des minuscules) occupe un octet d'espace et un caractère chinois occupe deux octets. Une séquence de nombres binaires, utilisée comme unité numérique dans un ordinateur, est généralement un nombre binaire de 8 bits, converti en décimal. La valeur minimale est -128 et la valeur maximale est 127. Par exemple, un code ASCII est un octet. Sous

encodage UTF-8

, un caractère anglais équivaut à un octet et un caractère chinois (y compris le chinois traditionnel) équivaut à trois octets. La ponctuation chinoise occupe trois octets et la ponctuation anglaise occupe un octet. Sous

Encodage Unicode

, un mot anglais équivaut à deux octets et un caractère chinois (y compris le chinois traditionnel) équivaut à deux octets. La ponctuation chinoise occupe deux octets et la ponctuation anglaise occupe deux octets. Le codage utilisé dans notre exemple est UTF-8, donc un caractère chinois occupe trois octets. Ainsi, la longueur de 10 caractères chinois peut aller jusqu'à 30.

C'est tout. Si vous voulez savoir autre chose, vous pouvez cliquer ici. → →

Tutoriel 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