小一時間悩んだ。
携帯電話でどうしてもセッションが継続されず、セッションIDをダンプしたら、終端にヌル文字?がついていた。で、除去しようと、
<?php trim($session_id, '\0'); ?>
とかすると、「\0」だけでなく「0」まで削除されてしまう。なぜ。
<?php $d = "hoge0\\0"; var_dump($d); var_dump(trim($d, "\\0")); var_dump(str_replace("\\0", "", $d)); ?>
$ php -f null.php string(7) "hoge0\0" string(4) "hoge" string(5) "hoge0"
な感じ。str_replaceでいいのね。
しかし、このヌル文字はどこから来ているんだ。