[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[RiminiLUG-General] PHP con sorpresa



while(odbc_fetch_into($Rs, $Str))
 { 
  print "<tr>";
	
   for($i=0;$i<$Colnum;$i++)
     {
     print "<td>";
     print "$Str[$i]";
     print "</td>";
     }
	
      $somma = ($somma + ($Str[3]*$Str[4]));
			
      if ($Str[0] == 08899003) 
	{
	$valore_da_sottrarre = ($Str[3]*$Str[4]);
	}
		  
  print "</tr>";
	
 }


------------------------------------------------------------
Dovendo ricavare il valore di un codice per evidenziarlo ho 
rispolverato una porzione di codice usata in passato e con la 
quale non ho mai avuto problemi.
Con mia grande sorpresa questa volta non ha funzionato!
Il problema è che i codici nel database (oracle) in $str[0] in questa occasione (non in passato), iniziano con 0 (zero)
e l'if del codice sopra viene bypassato.
Neppure indicando '08899003' o "08899003" funziona correttamente.
L'unico modo efficace è:
 if ($Str[0] == 8899003)
Così facendo il test viene eseguito correttamente ed ottengo la 
variabile $valore_da_sottrarre con il valore corretto.
Toglietemi una curiosità, qual'è la ragione "tecnica"per 
cui questo accade?
Di solito mi accontento che funzioni ma questa volta vorrei anche capire :-)

-----------------------------------------------------------
Spazio ILLIMITATO per la tua Email, Scanner Antivirus,
Antispam, Backup e POP3. Prova la nuova Email di superEva:
http://webmail.supereva.it/
-----------------------------------------------------------


-- 
Mailing list info: http://lists.linux.it/listinfo/riminilug-general