あるXML要素のオブジェクトを編集、削除するとき、単純にそのポジションとなる配列の位置をフォームから処理する側へ渡せばいいわけだけれど、プログラミング上はやっぱり位置だけでは不安で、その編集あるいは削除対象のデータがフォームで表示しているのと同じものなのかを編集・削除の処理のところで確認したい。
そのオブジェクトにIDとなるユニークな文字列があるという前提にするわけにはいかない。かといって元のデータをそっくりそのまま別途に渡すものうっとおしい。
そこで、そのオブジェクトのデータを全てシリアライズした上でハッシュにかけた値を渡すようにする。このポジションとハッシュ値が渡った先で、もう一度そのポジションのオブジェクトを取得してハッシュし、これらのハッシュ同士が一致すればほぼ間違いなく当該のオブジェクトであるということでよいだろうという考え方。
しかし、PHPはオブジェクトから直接ハッシュはとれない。一旦、シリアライズする必要がある。しかし、シリアライズするにも、それはオブジェクトではだめで、少なくとも配列にしておく必要がある。そこでオブジェクトを配列に変換してくれる関数が欲しい。
あった↓
simplexml elementを一括配列化。 | croisforce
本当に助かる。