Je suis en train de calculer la longueur d'une chaîne, mais je reçois une erreur AVIS

voix
-1

Ceci est mon script où je calculais la longueur de la chaîne sans fonction de bibliothèque, mais je reçois une erreur?

<?php 

$name = Mohammad Umar;

$i = 0;

while ($name[$i] != ''){
   $i++;
}

echo $i;

?>
Créé 31/12/2016 à 08:53
source utilisateur
Dans d'autres langues...                            


2 réponses

voix
2

Dans votre chaîne il y a 13 décalages, de 0 à 12.

Il n'y a pas de décalage qui équivaut à '', puisque vous avez seulement des caractères alpha et un espace.

Ainsi, votre whileboucle ne peut pas arrêter et atteint le 13 Undefined offset.

Avez - vous été en train d' essayer d'atteindre l'espace? Si tel est le cas, essayez de tester $name[$i]sur' '

MODIFIER

Pour calculer la longueur de la chaîne sans strlen, mais avec au moins une fonction de traitement variable appelée isset, je ferais ceci:

$name = "Mohammad Umar";

$i = -1;
while (isset($name[++$i]));

echo $i;
Créé 31/12/2016 à 09:01
source utilisateur

voix
0

Essaye ça,

$name = "Mohammad Umar";
$name_length=strlen($name);
$i = 0;

for($i=0;$i<$name_length;$i++)
{
  if($name[$i] == '')
  {
    echo $i;
  }
}
Créé 31/12/2016 à 12:33
source utilisateur

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more