标题重写为:"foreach()函数的参数无效"
<p>对我来说,经常遇到处理既可以是数组又可以是空变量的数据,并将这些数据提供给一些 <code>foreach</code>。</p>
<pre class="brush:php;toolbar:false;">$values = get_values();
foreach ($values as $value){
...
}</pre>
<p>当你用不是数组的数据来提供 foreach 时,会收到一个警告:</p>
<blockquote>
<p>警告:foreach() 中提供的参数无效 in [...]</p>
</blockquote>
<p>假设无法重构 <code>get_values()</code> 函数以始终返回数组(向后兼容性,不可用的源代码,或其他任何原因),我想知道避免这些警告的最清洁和最高效的方法是什么:</p>
<ul>
<li>将 <code>$values</code> 转换为数组</li>
<li>将 <code>$values</code> 初始化为数组</li>
<li>用 <code>if</code> 包装 <code>foreach</code></li>
<li>其他(请提供建议)</li>
</ul><p><br /></p>