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>";

        }

Aucune réponse