今更恥ずかしいのですが、思い切って聞かせてください。
配列の各要素に処理を施したい場合に、foreachを使用したい場合があるとおもます。
その処理を実行した後に、またforeachの外で配列として扱いたいのですが、いまいちこの仕組みが分かっておりません。
例えば、以下のように$monthをスラッシュを境に左右に分けたいと致すます、
<?php $month =array("6 / 12", "3 / 9", "2 / 8"); foreach ($month as $key) { $month2=explode("/",$key); print_r($month2);//A } print_r($month2);//B
Aのprint_rの場合はforeachの処理範囲内のため、当然すべての要素に対して処理を実行した結果に対して、それぞれ(foreach)をprintしてくれます。
一方で、Bの場合は、foreachの処理の範囲外のため、foreachのkeyの最後に処理された部分(2と8)だけを返してきます。
実際には、explodeで分けた$month[0]と$month[1]のそれぞれの配列をforeachの外で使用したいののですが、そのようにできません。
このケースでは、explodeにより新たに生み出された2つの配列をforeachの外で使用したい場合ですが、
実際には例えば配列のすべてに特定の処理(個別の関数(例えば、すべての配列の要素にエクスクラメーションマークをつける等))を行い、その結果を元の配列と同様にforeachの外で使用したい場合はどのようにすればいいのでしょうか?
$month =array("6 / 12!", "3 / 9!", "2 / 8!")
本当に根本的なお話であることはわかっているのですが
よろしくお願い申し上げます。
回答3件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2016/08/31 14:13