ホームページ >バックエンド開発 >PHPチュートリアル >PHP の非推奨の `each()` 関数を置き換える方法は?

PHP の非推奨の `each()` 関数を置き換える方法は?

Barbara Streisand
Barbara Streisandオリジナル
2024-12-20 15:01:11757ブラウズ

How to Replace PHP's Deprecated `each()` Function?

非推奨となった each() 関数からのコードのアップグレード

PHP 7.2 では each() 関数が非推奨となり、使用時に警告が発生します。この記事では、コードを最新化し、each() の使用を回避する方法について説明します。

サンプル ケース

以前に each() が使用されていた例をいくつか示します。

  1. reset() とlist():

    $ar = $o->me;
    reset($ar);
    list($typ, $val) = each($ar);
  2. 値を直接割り当てる:

    $out = array('me' => array(), 'mytype' => 2, '_php_class' => null);
    $expected = each($out);
  3. 配列を誤って反復する:

    for(reset($broken);$kv = each($broken);) {...}
  4. キーを無視しますlist() 割り当て:

    list(, $this->result) = each($this->cache_data);
  5. 長さチェックで不正な繰り返し:

    reset($array);
    while( (list($id, $item) = each($array)) || $i < 30 ) {
     // code
     $i++;
    }

更新されたコード

1.値の割り当て

key() と current() に置き換えます:

$ar = $o->me;
$typ = key($ar);
$val = current($ar);

2.直接割り当て

明示的な配列キーと値に置き換えます:

$out = array('me' => array(), 'mytype' => 2, '_php_class' => null);
$expected = [key($out), current($out)];

3.正しい反復

foreach() を使用し、ループ内でキーと値のペアを割り当てます:

foreach ($broken as $k => $v) {
     $kv = [$k, $v];
}

4.キー無視

現在の値を直接割り当てます:

$this->result = current($this->cache_data);

5.チェックによる配列の反復

従来の for() ループに置き換えます:

reset($array);
for ($i = 0; $i < 30; $i++) {
    $id = key($array);
    $item = current($array);
    // code
    next($array);
}

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

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。