P粉4634184832023-08-23 09:19:01
each()
実際には each()
を置き換えることができる状況は数多くあります。そのため、この質問には非常に多くの異なる賛成票が寄せられています。
これらは手動で 1 つずつ置き換えることができます。しかし、もっと良い方法はないでしょうか?
私は移行プロジェクトを支援しており、このようなケースを 150 件以上経験しています。私は怠け者なので、コードを上記の方法に変換できる
Rectorというツールを作りました (もっと多くのケースがありますが、答えをスパム送信したくありません) 。 これは PHP_72
コレクションの一部です。
4 コードをアップグレードする手順
3.
PHP_724. コード上で実行します
リーリー
エラーや例外がある場合、それは Rector が見逃したものです。
問題を作成P粉9828815832023-08-23 00:06:26
最初の 2 つの例では、key()
と current()
を使用して必要な値を割り当てることができます。
このような場合、next()
を使用して後でカーソルを進めることができますが、コードの残りの部分がこれに依存しない場合は、これは必要ない可能性があります。
3 番目のケースでは、foreach()
ループを使用し、ループ内で $kv
を割り当てることをお勧めします。
4 番目のケースでは、list()
ではキーが無視されるようですので、現在の値を割り当てることができます。
最初の 2 つのケースと同様、コードの残りの部分が $this->cache_data
とどのようにやり取りするかによっては、next()
を使用してカーソルを進める必要がある場合があります。
5 番目のケースは、for()
ループで置き換えることができます。