ホームページ > バックエンド開発 > PHPチュートリアル > PHP で非推奨の `each()` 関数を置き換えるにはどうすればよいですか?

PHP で非推奨の `each()` 関数を置き換えるにはどうすればよいですか?

Susan Sarandon
リリース: 2024-12-16 01:25:09
オリジナル
733 人が閲覧しました

How Can I Replace the Deprecated `each()` Function in PHP?

非推奨の each() 関数の使用を避けるためのコードの更新

each() 関数は PHP 7.2 で正式に非推奨となり、エラーを回避し、ベスト プラクティスを維持するためにコードを更新する必要があります。この記事では、現在 each() を使用しているコードを最新化する方法についてのガイダンスを提供します。

サンプル コードと解決策:

次のコードの抜粋と対応する更新を検討してください。

$ar = $o->me;
reset($ar);
list($typ, $val) = each($ar);
ログイン後にコピー

更新: key() と値の割り当てには current() を使用します。

$ar = $o->me; // Reset no longer required
$typ = key($ar);
$val = current($ar);
ログイン後にコピー
$out = array('me' => array(), 'mytype' => 2, '_php_class' => null);
$expected = each($out);
ログイン後にコピー

Update: 要素の取得には key() と current() を使用します。

$out = array('me' => array(), 'mytype' => 2, '_php_class' => null);
$expected = [key($out), current($out)];
ログイン後にコピー
for(reset($broken);$kv = each($broken);) {...}
ログイン後にコピー

更新: 手動キーと値を使用した foreach ループを導入しますassign.

foreach ($broken as $k => $v) {
     $kv = [$k, $v];
}
ログイン後にコピー
list(, $this->result) = each($this->cache_data);
ログイン後にコピー

Update: オプションの next() アドバンストを使用して、現在の値を直接割り当てます。

$this->result = current($this->cache_data);
ログイン後にコピー
// iterating to the end of an array or a limit > the length of the array
$i = 0;
reset($array);
while( (list($id, $item) = each($array)) || $i < 30 ) {
    // code
    $i++;
}
ログイン後にコピー

Update : 手動の Key-Value によるトラバーサルに for ループを利用する

reset($array);
for ($i = 0; $i < 30; $i++) {
    $id = key($array);
    $item = current($array);
    // code
    next($array);
}
ログイン後にコピー

これらの更新を実装することで、コードを効果的に最新化し、現在の PHP 標準に合わせることができます。

以上がPHP で非推奨の `each()` 関数を置き換えるにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート