Titel umgeschrieben als: „Die Parameter der Funktion foreach() sind ungültig'
P粉419164700
P粉419164700 2023-08-21 12:03:34
0
2
525
<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 foreach Daten bereitstellen, die kein Array sind, erhalten Sie eine Warnung: </p> <blockquote> <p>Warnung: Ungültiges Argument in 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 aus einem anderen Grund), würde ich gerne wissen, wie dies vermieden werden kann diese Warnungen Was ist der sauberste und effizienteste Weg:</p> <ul> <li>Konvertieren Sie <code>$values</code> <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><br /></p>
P粉419164700
P粉419164700

Antworte allen(2)
P粉811349112

这个怎么样?它更简洁,而且都在一行中。

foreach ((array) $items as $item) {
 // ...
 }
P粉771233336

个人而言,我觉得这是最干净的 - 不确定是否是最有效的,注意!

if (is_array($values) || is_object($values))
{
    foreach ($values as $value)
    {
        ...
    }
}

我偏好的原因是当你一开始就没有任何东西时,它不会分配一个空数组。

Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!