Bonjour à tous,
lors du dévellopemment d'un des mes programmes de traitements, j'ai remarqué quelque chose d'inatendue
voici de extrait qui me semblaie faisait la même chose
$original_data=$decode_data = json_decode ($data);
$timestamp=$decode_data->Timestamp;
unset($decode_data->Timestamp);
if ($decode_data != $last_data)
{
$new_data_bbox=new stdClass;
$last_data = $decode_data;
$last_timestamp=$timestamp;
$new_data_bbox=$original_data;
}
$decode_data = json_decode ($data);
$original_data= json_decode ($data);
$timestamp=$decode_data->Timestamp;
unset($decode_data->Timestamp);
if ($decode_data != $last_data)
{
$new_data_bbox=new stdClass;
$last_data = $decode_data;
$last_timestamp=$timestamp;
$new_data_bbox=$original_data;
}
mais dans le premier cas, mon prg disfonctionné car $orginal_data perdait le timestamp, alors que dans le second cas pas de soucis, $original timesstamp n'as pas subit le unset.
J'ai souvent fait
$a=$b=$c="une valeur";
et ensuite $a $b $c vivez leur vie indépendamement, mais dans ce cas, quelqu'un aurai t'il l'explication, ou s'agit t'il une erreur de programmation plus profonde?
Merci d'avance pour vos lumiéres.
Flo
ps: le prg un peu plus complet
foreach ($message as $item2)
{
$data = preg_replace ("/\\\\u([a-f0-9]{4})/e", "iconv('UCS-4LE','UTF-8',pack('V', hexdec('U$1')))", $item2);
if ($a ++ < 30000)
{
$decode_data = json_decode ($data);
$original_data= json_decode ($data);
$timestamp=$decode_data->Timestamp;
unset($decode_data->Timestamp);
if ($decode_data != $last_data)
{
$new_data_bbox=new stdClass;
$last_data = $decode_data;
$last_timestamp=$timestamp;
$new_data_bbox=$original_data;
//$new_data_bbox->Timespamp=$timestamp;
}
else
{
echo "<br>";
echo "/!\\".$last_timestamp."---" . $i ++ ."---".$timestamp."/!\\";
echo "<br>";
var_dump($last_data);
echo "<br>====<br>";
var_dump($decode_data);
echo "<br>";
}
echo '<pre>';
var_dump($new_data_bbox);
echo "</pre><br><br>";
}