Vérification d'une chaine de caractère _ php

Résolu
amine_marc Messages postés 286 Statut Membre -  
amine_marc Messages postés 286 Statut Membre -
Bonjour,
je veux tester une chaine de caractère si elle est sous la forme suivante a^b où a et b sont des nombres. C'est-à-dire, un programme près de ça:

$ch=2^3;
function f($ch)
{
  if($ch == ???)
     echo "Forme acceptable !";
  else
     echo "Fome non acceptable !";
}


veuillez me dire comme résoudre ce problème et merci d'avance.
A voir également:

1 réponse

animostab Messages postés 3003 Statut Membre 738
 
salut
tu dois convertir chaque chiffre sous sa forme binaire (2 et 3) puis les comparer pour chaque decimale
quand c'est égal ca prend la valeur 0 (false) inégale la valeur 1 (true)
exemple

0101
0011
------
0110 ( false true true false)

donc rcherche la valeur binaire de 2 et 3 et compare les, le resultat obtenu sera ce que tu dois mettre après ==
Un petit merci vaut mieux qu'une grande ignorance !
Donc si votre sujet est résolu une réponse avec merci c'est pas de refus.
1
amine_marc Messages postés 286 Statut Membre 2
 
tout d'abord, merci animistab; mais je n'ai pas bien compris votre code!! Je pense que tu n'as pas compris également mon but de ce script.
En bref, j'essaie de vérifier si $ch est sous forme d'un alphanumérique (ex: 5^4) pour exclure les cas comme c^3 et b^5, etc.
0
animostab Messages postés 3003 Statut Membre 738
 
ok le truc c'est que $ch représente le resultat de comparaison des valeur binaire
donc tu devrais faire
$a = 2;
$b=3;
$ch=$a^$b;
après tu vérifie si $a et $b sont numériques
if ( is_numeric($a) && is_numeric($b) )

sinon recupérer la chaine $ch avec strval($ch) et comparer avec [0-9]*\^[0-9]*
0
amine_marc Messages postés 286 Statut Membre 2
 
c'est exactement ce que je cherchais. Merci bcp animostab
0