Page 1 sur 1

[Debut.] String, suite de if() et cond. test string vide

Posté : 31 juil. 2005, 07:29
par marc_3
Bonjour,

Suite de la question test conditionnel pour voir si un string est vide.
Je suis d'accord avec le fait qu'il sera mieux d'aller au bout du probleme avec le test sur les tests empty ($var). Mais comme je vois le truc, si un char vide est compte comme caractere, on est oblige de tester les caracteres eux-meme pour savoir ou on va.

J'ai ecris ce petit algo. il me reste a le traduire en php et a le teste.

$str_a_teste;

$nbChar=0;
$start=0;

while ($start<(strlen($str_a_teste)))
{
$letter={$-var-string} //Ici lecture des char les un apres les autres

if($letter != carac vide) {$nb_de_char++}
}

Apres on profite de la variable $nb_de_char pour faire le test de presence de string avec les criteres a choix de l'utilisateur.
Par ex. un string a une lg. min de 3 char. etc

Ici j'ai besoin d'une info. Comment peut'on faire une comparaison avec un char vide?
Est-ce que l'on peut utilise ascii ou unicode?
Quel est le symbole pour char vide?

D'avance merci et bon week-end, je ne pourrai pas revenir sur le forum avant mardi

Marc_3

Posté : 31 juil. 2005, 07:56
par Cyrano
Salut,
je crois bien que tu te casses la tête inutilement. Heureusement que j'avais suivi ton précédent post, certains ne comprendraient pas forcément le but de ta question. Là, il est question de vérifier que le contenu de ton formulaire n'est pas une suite d'espace sans rien d'autre.

Première chose, récupérer les valeurs envoyées:
<?php
$chaine_a_tester = $_POST['chaine_a_tester'];
?>
En ayant simplement mis le curseur dans le champ de saisie et appuyé une fois sur la barre d'espace du clavier, la chaîne n'est pas vide. Donc empty() ne sera pas vérifié. On doit donc supprimer les espaces surnuméraires:
<?php
$chaine_a_tester = trim($_POST['chaine_a_tester']);
?>
Maintenant tu peux vérifier avec empty() ou encore faire ceci:
if($chaine_a_tester == "")
{
    // la variable ne contient rien du tout.
}

Merci pour la réponse

Posté : 02 août 2005, 09:35
par marc_3
Cette fois ca marche tres bien et tout est en ordre.

Il me semble avoir aussi essaye cela mais j'ai du surement faire une de mes habituelles faute de syntax. Merci encore.

Par contre la question de l'encodage continue d'etre interressante.

Quel est l'encodage des lettre avec PHP?

D'avance merci

Marc_3