Titel umgeschrieben in: „Ungültiges Argument: Das an foreach() übergebene Argument ist ungültig'
P粉546138344
2023-08-21 12:14:09
<p>Es ist üblich, dass ich mit Daten arbeite, die entweder ein Array oder eine leere Variable sein können, und diese Daten einem <code>foreach</code> zuführe. </p>
<pre class="brush:php;toolbar:false;">$values = get_values();
foreach ($values as $value){
...
}</pre>
<p>Wenn Sie Daten bereitstellen, die kein Array für foreach sind, erhalten Sie eine Warnung: </p>
<blockquote>
<p>Warnung: Ungültiges Argument für foreach() in [...]</p>
</blockquote>
<p>Angenommen, die Funktion <code>get_values()</code> kann nicht so umgestaltet werden, dass sie immer ein Array zurückgibt (Abwärtskompatibilität, nicht verfügbarer Quellcode oder andere Gründe), würde ich gerne wissen, wie ich diese vermeiden kann Warnungen Was ist der sauberste und effizienteste Weg: </p>
<ul>
<li>Konvertieren Sie <code>$values</code> in ein Array</li>
<li><code>$values</code> in einem Array initialisieren</li>
<li>Wrap <code>foreach</code></li> in <code>if</code>
<li>Sonstiges (bitte Vorschläge machen)</li>
</ul></p>
这个怎么样?它更简洁,而且都在一行中。
个人而言,我觉得这是最干净的 - 不确定是否最高效,注意!
我偏好的原因是当你根本没有任何内容时,它不会分配一个空数组。