php は開発において非常に効率的であり、それは当然ですが、実行効率が犠牲になります。 php の配列関数は非常に強力ですが、万が一に備えて、さらに検討していくつかの状況を試してみてください。今後さらに発見された場合は、それらを追加します。
foreach は配列を走査する簡単な方法を提供し、データやオブジェクトの内容を簡単に読み取ることができます。ただし、公式ドキュメントには、foreach は内部配列ポインターに依存しているため、ループ内でその値を変更すると予期せぬ結果が生じる可能性があると記載されています。行動。 。つまり、基本的には、
1. ループ内の値を変更しないでください。変更すると、期待した結果を超えてしまいます。
2. '&' を使用するのは安全な方法ですが、使用する場合は、参照が終了した直後に unset 関数を呼び出して変数を破棄する必要があります。それ以外の場合は、次のコードに別の If がある場合に使用します。この変数が使用されると、ループの最後の値が変更され、予期しない値が生成されます。たとえば、リスト ループが出力されると、出力の最後の行に多くの乱雑な値または null 値が表示されます。 unset を使用すると、この問題が解決されます。
リーリー
in_array, 意味は、前の文字列が次の配列に存在するかどうかをチェックすることであり、ほとんどの場合、これも同様に機能しますが、次の配列がarray(0,1,2 , などの整数の場合) 3) 問題があり、PHP は前の文字列を intval するため、値 0 が返されます。その後、配列にこの値が含まれている場合、再び制限を超えてしまいますか?期待?
したがって、次のデータが整数であると判断された場合、特に 0 である可能性がある場合 (これによりすべての文字列が置き換えられる可能性があります)、この関数を使用してはなりません。代わりに key_exists を使用できますが、次のデータを使用する必要があります。 array_flip を使用して反転操作を実行します。
リーリー
文字列を配列として使用して値を取得するとどうなるでしょうか? PHP は非常にフォールトトレラントな言語であるため、間違いを修正するために最善を尽くします。そのため、参照添字を整数に変換することは非常に賢明です。当然、文字列添字は 0 になります。値は最初の文字列の値を取得します。これは予想外ですか?解決策は、添え字 is_array を参照する前に、変数が配列であるかどうかを確認することです。あれやこれやの問題に遭遇し、それを言い続けてきた先輩はたくさんいますが、それでも結局は間違いを避けることはできません。もしかしたらこれが社会なのかもしれない!みんなとても忙しいのに、あなたのくだらないコードを解読する時間がありません! はは