PHP foreachループの配列はどのように読み込まれますか?
ループをどのように実行すればよいか聞いたことがあります:for ($i = 0, $count = count($array); $i < $c; ++$i)
{
// Do stuff while traversing array
}
for ($i = 0; $i < count($array); ++$i)
{
// Do stuff while traversing array
}
パフォーマンス上の理由から
$count
を初期化すると、条件付きチェックで
count()
を呼び出すのではなく)。
foreach
ループで、私はこれを行います:
$array = do_something_that_returns_an_array();
foreach ($array as $key => $val)
{
// Do stuff while traversing array
}
foreach (do_something_that_returns_an_array() as $key => $val)
{
// Do stuff while traversing array
}
どちらかの状況が許されているとしますか?つまり、PHPはどちらの関数でも関数を1回だけ呼び出すか、for
のように2番目の関数が何度も何度も関数を呼び出すでしょうか?
テストを実行してください! '関数do_something_that_returns_an_array()'が内部的に何かをエコーするようにします。 – Artelius