Salve a tutti,
sto facendo una funzione che mi imposti una stringa di default a partire da un valore di input. Poiché è un dettaglio nel mio programma volevo fare una funzione generica sia nel caso in cui il dato in input fosse una stringa sia che fosse un numero.
Ho scritto questa funzione:
function setDefaultOutputOfferte($fStrData,$fIntGendre){
if (strcmp($fStrData,DATABASE_DEFAULT_VALUE)==0){
$fStrData="Non";
}
if ($fStrData==null){
$fStrData="Non";
}
if ($fStrData==0){
$fStrData="Non";
}
if (empty($fStrData)){
$fStrData="Non";
}
if ($fIntGendre>0){
$fStrData.=" specificato";
}else{
$fStrData.=" specificata";
}
return $fStrData;
}
stranamente se metto una stringa entra nel controllo numero e udite, udite, mi dà vero!!!!
Una descrizione mi rende vero il confronto ==0!
Perché? Come risolvo il problema senza fare un controllo di tipo all'inizio? So che potrei farlo ma vorrei vedere se ci c'è un sistema diverso!
Grazie dell'aiuto!