配列を 2 回ループする必要があります。1 回目は値を変更するため、もう 1 回はコンテンツを html に表示するためです。残念ながら、私は困っています。この問題を説明するためのテスト シナリオを作成しました。
$cases = array(
array('caseStyle' => 'case style 1', 'caseNum' => 'case01'),
array('caseStyle' => 'case style 2', 'caseNum' => 'case02'),
array('caseStyle' => 'case style 3', 'caseNum' => 'case03'),
array('caseStyle' => 'case style 4', 'caseNum' => 'case04'),
array('caseStyle' => 'case style 5', 'caseNum' => 'case05'),
array('caseStyle' => 'case style 6', 'caseNum' => 'case06')
);
foreach ($cases as $k => &$v) {
$v['caseNum'] = ucwords($v['caseNum']);
}
foreach ($cases as $k => $v) {
echo $v['caseNum'] . ' - ' . $v['caseStyle'] . '<br/>';
}
これは以下を出力します:
Case01 - case style 1
Case02 - case style 2
Case03 - case style 3
Case04 - case style 4
Case05 - case style 5
Case05 - case style 5
最後の項目の値が間違っていることに注意してください。
2回目の反復中に
foreach($cases as $k => $d)
代わりに使用するforeach($cases as $k => $v)
か$v
、2回目の反復の前に設定を解除すると、(unset($v))
すべてうまくいきます。これは興味深い。私は何が欠けていますか?