ホームページ  >  記事  >  バックエンド開発  >  PHP配列のキーと値の変換、速度競争

PHP配列のキーと値の変換、速度競争

WBOY
WBOYオリジナル
2024-05-03 12:06:011085ブラウズ

PHP 配列のキーと値の変換速度の比較: array_flip() は配列に対して直接動作し、実行時間は 0.0003 マイクロ秒で、2 番目は array_combine() で 0.0004 マイクロ秒でした。 、required 一時配列を作成し、実行に 0.0007 マイクロ秒かかります。

PHP 数组键值转换,速度比拼谁更强

PHP 配列のキーと値の変換: 速度競争

PHP では、配列のキーと値の変換は一般的な操作です連想配列からインデックス付き配列への変換、インデックス付き配列から連想配列への変換など。これを実現するにはいくつかの方法がありますが、そのパフォーマンスは速度によって大きく異なります。

1. array_flip()関数

array_flip()関数は、連想配列のキー値を素早く交換することができます。構文は単純です:

$array = array_flip($array);

2. array() 演算子

array() 演算子はキー値の変換にも使用できます。構文は少し異なります:

$array = array(array_flip($array));

3. array_combine() function

array_combine() この関数は、特に 2 つの配列を結合するために使用されます。連想配列に変換します。その構文は次のとおりです。

$keys = array_keys($array);
$values = array_values($array);
$array = array_combine($keys, $values);

実際のケース

連想配列を作成し、さまざまなメソッドを使用してキーと値の変換を実行します。

##出力:

$array = array(
    'name' => 'John Doe',
    'age' => 30,
    'city' => 'New York'
);

echo 'Original Array:' . PHP_EOL;
print_r($array);

echo 'Using array_flip():' . PHP_EOL;
$array = array_flip($array);
print_r($array);

echo 'Using array() operator:' . PHP_EOL;
$array = array(array_flip($array));
print_r($array);

echo 'Using array_combine():' . PHP_EOL;
$keys = array_keys($array);
$values = array_values($array);
$array = array_combine($keys, $values);
print_r($array);

速度比較

さまざまなメソッドの速度を比較するには、

microtime( )

関数 実行時間を測定するには: <pre class='brush:php;toolbar:false;'>Original Array: Array ( [name] =&gt; John Doe [age] =&gt; 30 [city] =&gt; New York ) Using array_flip(): Array ( [John Doe] =&gt; name [30] =&gt; age [New York] =&gt; city ) Using array() operator: Array ( [0] =&gt; Array ( [John Doe] =&gt; name [30] =&gt; age [New York] =&gt; city ) ) Using array_combine(): Array ( [name] =&gt; John Doe [age] =&gt; 30 [city] =&gt; New York )</pre>テストを複数回実行すると、次の結果が表示されます:

メソッド##array_flip()array() 演算子##array_combine()#結果は、array_flip() 関数が配列に対して直接動作するため、速度の点で優れているのに対し、他のメソッドは一時的な関数の作成が必要であることを示しています。配列。
実行時間 (マイクロ秒)
0.0003
0.0004
0.0007

以上がPHP配列のキーと値の変換、速度競争の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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