que devrait afficher le code suivant :
<?php $a = 0; $b = 'x'; echo $a.' = '.$b.' => '.($a==$b ? 'oui' : 'non'); ?>
pour moi ca devrait me retourner 'non', et ca me retourne 'oui' !!!
quelqu'un aurait une explication ?

Sasume (./6) :
Je sais bien, je proposais un parenthésage supplémentaire, pour lever une ambiguïté possible
squalyl (./5) :
exemple de la doc: $foo = 1 + "bob3"; // $foo est du type integer (1)
squalyl (./7) :
ce qui est marrant c'est que 0 soit pas converti en chaine "0"

?[squalyl@dedibox ~]$ cat test.c
#include <stdio.h>
#include <errno.h>
#include <stdlib.h>
int main(void)
{
long int l;
char *data,*end;
data="12345";
errno=0;
l=strtol(data,&end,10);
printf("data=[%s] long=[%ld] errno=[%d] end=data+%d\n",data,l,errno,end-data);
data="plop";
errno=0;
l=strtol(data,&end,10);
printf("data=[%s] long=[%ld] errno=[%d] end=data+%d\n",data,l,errno,end-data);
return 0;
}
[squalyl@dedibox ~]$ gcc test.c
[squalyl@dedibox ~]$ ./a.out
data=[12345] long=[12345] errno=[0] end=data+5
data=[plop] long=[0] errno=[0] end=data+0
[squalyl@dedibox ~]$ cat test.c
#include <stdio.h>
#include <errno.h>
#include <stdlib.h>
int main(void)
{
double l;
char *data,*end;
data="12345";
errno=0;
l=strtod(data,&end);
printf("data=[%s] double=[%g] errno=[%d] end=data+%d\n",data,l,errno,end-data);
data="plop";
errno=0;
l=strtod(data,&end);
printf("data=[%s] double=[%g] errno=[%d] end=data+%d\n",data,l,errno,end-data);
return 0;
}
[squalyl@dedibox ~]$ gcc test.c
[squalyl@dedibox ~]$ ./a.out
data=[12345] double=[12345] errno=[0] end=data+5
data=[plop] double=[0] errno=[0] end=data+0Sasume (./14) :
J'ai pas compris l'intérêt de ton code en C squalyl
Sinon Spipu la solution proposée en ./6 ne convenait pas ?
c'est pourquoi j'avais demandé une explication et non une solution 
…