Tajuk ditulis semula sebagai: "Parameter fungsi foreach() adalah tidak sah"
P粉419164700
2023-08-21 12:03:34
<p>Adalah perkara biasa bagi saya untuk berurusan dengan data yang boleh sama ada tatasusunan atau pembolehubah kosong dan suapan data itu kepada beberapa <kod>foreach</code>. </p>
<pre class="brush:php;toolbar:false;">$values = get_values();
foreach ($nilai sebagai $nilai){
...
}</pre>
<p>Apabila anda membekalkan foreach dengan data yang bukan tatasusunan, anda akan menerima amaran: </p>
<blockquote>
<p>Amaran: Argumen tidak sah dibekalkan dalam foreach() dalam [...]</p>
</blockquote>
<p>Dengan mengandaikan bahawa fungsi <code>get_values()</code> tidak boleh difaktorkan semula untuk sentiasa mengembalikan tatasusunan (keserasian ke belakang, kod sumber tidak tersedia atau sebarang sebab lain), saya ingin tahu cara untuk mengelakkan amaran ini Apakah cara yang paling bersih dan paling berkesan:</p>
<ul>
<li>Tukar <kod>$nilai</kod>
<li>Memulakan <kod>$nilai</kod>
<li>Balut <kod>foreach</kod></li> dalam <kod>jika</kod>
<li>Lain-lain (sila berikan cadangan)</li>
</ul><p><br /></p>
Bagaimana dengan ini? Ia lebih ringkas dan semuanya dalam satu baris.
Secara peribadi, saya rasa ini adalah yang paling bersih - tidak pasti sama ada ia paling berkesan, maklumlah!
Sebab keutamaan saya ialah ia tidak memperuntukkan tatasusunan kosong apabila anda tidak mempunyai apa-apa untuk bermula.