<p>配列または空の変数のいずれかのデータを処理し、そのデータを <code>foreach</code> にフィードするのが一般的です。 </p>
<pre class="brush:php;toolbar:false;">$values = get_values();
foreach ($values として $value){
...
}</pre>
<p>foreach に配列ではないデータを指定すると、警告が表示されます: </p>
<ブロック引用>
<p>警告: [...]</p> の foreach() に無効な引数が指定されました。
</blockquote>
<p><code>get_values()</code> 関数を常に配列を返すようにリファクタリングできないと仮定すると (下位互換性、ソース コードが使用できない、またはその他の理由)、これらを回避する方法を知りたいです。警告 最もクリーンで効率的な方法は何ですか:</p>
<li><code>$values</code> を配列にキャスト</li>
<li><code>$values</code> を配列に初期化します</li>
<li><code>foreach</code></li> を <code>if</code> でラップします。
<li>その他 (提案を提供してください)</li>
</ul><
###これはどう?より簡潔で、すべてが 1 行にまとめられています。
リーリー
個人的には、これが最もクリーンだと思います。これが最も効率的かどうかはわかりませんが、注意してください。
リーリー私がこの方法を好む理由は、コンテンツがまったくない場合に空の配列を割り当てないことです。