IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

strlen en php


Sujet :

Langage PHP

  1. #1
    Membre du Club
    Homme Profil pro
    symfony2
    Inscrit en
    Mars 2016
    Messages
    124
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : Tunisie

    Informations professionnelles :
    Activité : symfony2

    Informations forums :
    Inscription : Mars 2016
    Messages : 124
    Points : 51
    Points
    51
    Par défaut strlen en php
    Salut, je fais cette simple exemple:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    $m= "developpez";
    for ($i=0;$i< strlen($m);$i++) { 
    	echo $m[$i].'<br>'; 
    }
    l'affichage est chaque caractére de variable $m en chaque ligne

    maintenant je modif sur code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    $m= "developpez";
    for ($i=0;$i<= strlen($m);$i++) { 
    	echo $m[$i].'<br>'; 
    }
    if affiche chaque caractére en chaque ligne mais je trouve cette probléme:

    NOTICE Uninitialized string offset: 10 on line number 5
    "line number 5" c'est ligne de l'affichage "echo"

    pour quand il travaille avec opérateur <= je trouve probléme

    merci d'avance

  2. #2
    Invité
    Invité(e)
    Par défaut
    Bonjour,

    C'est normal, car les index vont de 0 à strlen($m)-1 !

    L'index strlen($m) n'existe pas.


    Attention : avec UTF-8, on utilise plutôt mb_strlen()

  3. #3
    Membre averti
    Homme Profil pro
    Autres
    Inscrit en
    Mai 2017
    Messages
    279
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Cameroun

    Informations professionnelles :
    Activité : Autres

    Informations forums :
    Inscription : Mai 2017
    Messages : 279
    Points : 421
    Points
    421
    Par défaut
    Les index vont de 0 à strlen($m)-1.
    Explication: strlen($m) = 10, mais l'index des tableaux en PHP commence à 0; de 0 à 9, il y'a bien 10 éléments, ce qui est égal à strlen($m); Dans l'exemple n°2, tu veux afficher l'index 10 qui n'existe pas. Ne te fie pas à strlen($m), mais sur les index.
    En passant, le code
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    $m = "developpez";
    for ($i = 0; $i < strlen($m); $i++) { 
    	echo $m[$i].'<br>'; 
    }
    est court, mais le code
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    $m = "developpez";
    $lenght =  strlen($m);
    
    for ($i = 0; $i < $lenght; $i++) { 	echo $m[$i].'<br>'; 
    }
    est plus rapide (performance).

Discussions similaires

  1. [EDI] Quel est l'éditeur que vous recommandez pour PHP ?
    Par Lana.Bauer dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 400
    Dernier message: 10/04/2018, 20h08
  2. Quel est le meilleur script PHP de portail (CMS) ?
    Par Lana.Bauer dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 187
    Dernier message: 18/10/2012, 07h45
  3. L'avenir est-il au PHP ?
    Par Manolo dans le forum Langage
    Réponses: 468
    Dernier message: 11/02/2008, 18h54
  4. [PHP-JS] Fonction strlen en php
    Par viny dans le forum Langage
    Réponses: 20
    Dernier message: 04/10/2006, 14h09

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo