array_shift()の挙動
PHPの組み込み関数の変な挙動 - XOOPS専門-株式会社RYUS
あ〜・・・言われてみれば、変と言えば変か。。。
ようは、PHPって添字配列と連想配列(ハッシュ)を区別しないからこういうことおきるんよね。
array_popとかarray_shiftは本来添字配列を対象にしたものでしょう。
(そもそも連想配列で、pop/shiftみたいな「最初の要素」「最後の要素」って考え方おかしいし)
てことで、そこもまぁPHPのキモいとこだけど、利用者側が理解して使うしかないんだろうね。。。