Ciao
$array = array("abcde" => $valore);
restituira' , se ad esempio $valore=100 :
"abcde":"100"
Ho bisogno che l'array restituisca il valore di $valore SENZA le virgolette:
"abcde":100
E' possibile in qualche modo ???
Grazie !
Ciao
$array = array("abcde" => $valore);
restituira' , se ad esempio $valore=100 :
"abcde":"100"
Ho bisogno che l'array restituisca il valore di $valore SENZA le virgolette:
"abcde":100
E' possibile in qualche modo ???
Grazie !
Ciao, se ritorna 100 è molto probabile che sia stato valorizzato un 100 in formato stringa.
Se vuo puoi forzare un numero in formato stringa come intero.
Lo puoi fare con un cast tipoCASTcodice:(int) $valore
Fai un po' di prove e sopratutto con valori non interi. Sicruamente ci sarà da fare in quel caso qualcosa di diverso.
Grazie per la risposta,
Purtroppo ne so molto poco di programmazione e sto andando a tentativi (maledizione ai vecchi che non hanno studiato da giovani)
$valore e' il risultato di un file_get_contents
In pratica ho una sonda di temperatura che mi scrive il valore in gradi centigradi dentro ad un file che viene aggiornato ogni x minuti
Io devo prendere quel valore numerico e inserirlo in un output json cosi' fatto :
{"temperatura":38.2}
quindi in una pagina php ho il codice :
<?php
{
$valore = file_get_contents('/home/test/temperatura');
header('Content-Type: application/json');
echo json_encode (array("temperatura" => $valore));
}
?>
Ma l'output e' appunto {"temperatura":"38.2"} quando il richiesto e' {"temperatura":38.2}
Qualche idea ?
Grazie
Potresti fare così lato PHP
codice:$valore = file_get_contents('/home/test/temperatura'); $valore = (strpos($valore, '.') !== false) ? floatval($valore) : intval($valore); header('Content-Type: application/json'); echo json_encode (array("temperatura" => $valore));
Gira e rigira ho trovato la soluzione :
File originale :
<?php
{
$valore = file_get_contents('/home/test/temperatura');
header('Content-Type: application/json');
echo json_encode (array("temperatura" => $valore));
}
?>
File modificato :
<?php
{
$valore = shell_exec('/home/test/temp.sh'); (temp.sh mi rende il valore numerico di temp.)
$array = array('temperatura' => $valore );
header('Content-Type: application/json');
echo json_encode ($array, JSON_NUMERIC_CHECK);
}
?>
JSON_NUMERIC_CHECK fa in modo che se dei contenuti dell'array sono numerici, non metta le virgolette su di essi
Hope this helps.....
Ciao