<div class="section">
変数のスコープでかなりはまってしまった。
コードはCakePHP1.2です。
controller
$items = array( 'HOGE_0', 'HOGE_1', 'HOGE_2', 'HOGE_3' ); $this->set('items', $items); $this->set('key', 'a:1:{s:18:"hoge";s:2:"24";}');
view
<php foreach ($items as $key => $item) { > <item><php e(h($item)) ></item> <php } > <key><php e(h($key)) ></key>
このプログラムでは、意図した出力がでなかったorz
予想していた出力
<item>HOGE_0</item> <item>HOGE_1</item> <item>HOGE_2</item> <item>HOGE_3</item> <key>a:1:{s:18:"hoge";s:2:"24";}</key>
実際の出力
<item>HOGE_0</item> <item>HOGE_1</item> <item>HOGE_2</item> <item>HOGE_3</item> <key>3</key>
「keyの値がなぜか3になってるー!」と悩んだが、すごい単純なミスだった。
foreachのなかで$keyの値を書き換えてしまっていたみたい。
foreachの$keyはforeachの中で専用に生成されて開放されると思っていました。。。