Rechercher : dans
Par :

Php : conversion de variables

Dernière réponse le 30 mar 2009 à 14:33:36 juanou, le 30 mar 2009 à 13:26:20 
 Signaler ce message aux modérateurs

Salut.

Je suis à la recherche d'un moyen permettant de convertir un variable de type chaine dans le type qui sera le mieux adapté. (Je travaille en php)

Exemples :

'blabla' => string
'1.57' => float
' 1.57 ' => float
'8' => integer
' 8 ' => integer
'true' => boolean

Si ça ne marche pas avec les tableaux je n'en ferai pas une maladie. :)
Mais j'aimerais surtout que ça distingue les nombres des chaines.

Configuration: Windows XP
Firefox 3.0.8

Meilleures réponses pour « php : conversion de variables » dans :
PHP - Les variables Voir Concept de variable avec PHP Une variable est un objet repéré par son nom, pouvant contenir des données, qui pourront être modifiées lors de l'exécution du programme. Les variables en langage PHP peuvent être de trois...
Comment récupérer le résultat d'une commande dans une variable VoirComment récupérer le résultat d'une commande dans une variable Préambule Syntaxe Exemples Préambule Il est bien souvent nécessaire de récupérer le résultat d'une commande (ou de son code retour) dans une variable afin de pouvoir...
Supprimer les accents avec PHP VoirPour un tas de raisons, il est parfois utile de convertir un texte accentué en un texte sans accents. Voici une fonction permettant de transformer très simplement la quasi-totalité des accents en leur équivalent non-accentués : function...
PHP - Les variables d'environnement VoirNotion de variable d'environnement Les variables d'environnement sont, comme leur nom l'indique, des données stockées dans des variables permettant au programme d'avoir des informations sur son environnement. L'environnement, dans le cas du script...
Javascript - Les variables VoirLe concept de variable Une variable est un objet repéré par son nom, pouvant contenir des données, qui pourront être modifiées lors de l'exécution du programme. En Javascript, les noms de variables peuvent être aussi long que l'on désire,...

1

Apatik, le 30 mar 2009 à 13:34:36

Bonjour. Tu es nouveau sous php je suppose =)
Les types de variables ne sont pas nommés en php. Mais tu as des fonctions qui te permettent de vérifier le type de tes variables "isstring" par exemple (ou "is_string", ou encore "isstr" ou "is_str", ça fait quelques temps..).
Je te conseille de faire un tour sur php.fr, tu trouvera la liste des fonctions, et leur utilisation. Don't try to fix me. I'm so free from everything for anyone

Répondre à Apatik

3

juanou, le 30 mar 2009 à 13:48:35

Merci Atapik.

Non, je ne suis plus vraiment nouveau sur php... :(

Mais je ne le prends pas mal, parce que je ne suis pas sûr que tu aies bien compris ce que je recherchais.
(Je n'ai pas du m'exprimer assez clairement)

is_string(' 1.57 ') me retournera true. (tu remarqueras les espaces autour du chiffre)
Or j'aimerais plutôt que mafonction(' 1.57 ') me retourne 1.57

Tu vois la nuance ?

Répondre à juanou

4

 juanou, le 30 mar 2009 à 14:33:36

Ca y est. Je crois que j'ai trouvé une combine.
Il y aura sûrement moyen de faire un code plus propre. Mais j'ai le résultat que je recherchais. C'est l'essentiel.

function bestType($var)
	{
	$var = trim($var) ;

	if ( $var === 'true' || $var === '1' ) $var = true ; // booleenne true
	elseif ( $var === 'false' || $var === '' ) $var = false ; // booleenne false
	else
		{ // entière
		$tmp = $var ;
		settype($tmp,'int') ;
		settype($tmp,'string') ;
		if ( $var === $tmp ) $var = $tmp ;
		else
			{ // décimale
			$tmp = $var ;
			settype($tmp,'float') ;
			settype($tmp,'string') ;
			if ( $var === $tmp ) $var = $tmp ;
			}
		}
		
	return $var ;
	}

Répondre à juanou