Heim > Artikel > Backend-Entwicklung > PHP-Array-Schlüsselwertkonvertierung, Geschwindigkeitswettbewerb
Vergleich der PHP-Array-Schlüssel-Wert-Konvertierungsgeschwindigkeit: array_flip() ist die schnellste, die direkt auf dem Array ausgeführt wird, und die Ausführungszeit beträgt 0,0003 Mikrosekunden; array_combine() ist die langsamste und erfordert die zweite Bei der Erstellung eines temporären Arrays beträgt die Ausführungszeit 0,0007 Mikrosekunden.
PHP-Array-Schlüsselwertkonvertierung: Beschleunigen Sie den Wettbewerb, wer stärker ist
In PHP ist die Array-Schlüsselwertkonvertierung eine häufige Operation, z. B. die Konvertierung eines assoziativen Arrays in ein Indexarray oder die Konvertierung eines Indexarrays zu einem assoziativen Array. Es gibt mehrere Möglichkeiten, dies zu erreichen, ihre Leistung kann jedoch in der Geschwindigkeit stark variieren.
1. Die Funktion array_flip()
Die Funktion array_flip()
kann die Schlüsselwerte assoziativer Arrays schnell austauschen. Seine Syntax ist einfach: array_flip()
函数可快速将关联数组的键值进行互换。它的语法很简单:
$array = array_flip($array);
2. array() 运算符
array()
运算符也可以用于转换键值,但其语法略有不同:
$array = array(array_flip($array));
3. array_combine() 函数
array_combine()
函数专门用于将两个数组合并成一个关联数组。它的语法如下:
$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);
输出:
Original Array: Array ( [name] => John Doe [age] => 30 [city] => New York ) Using array_flip(): Array ( [John Doe] => name [30] => age [New York] => city ) Using array() operator: Array ( [0] => Array ( [John Doe] => name [30] => age [New York] => city ) ) Using array_combine(): Array ( [name] => John Doe [age] => 30 [city] => New York )
速度比较
为了比较不同方法的速度,我们可以使用 microtime()
函数来测量执行时间:
$start = microtime(true); $array = array_flip($array); $end = microtime(true); $time_array_flip = $end - $start; $start = microtime(true); $array = array(array_flip($array)); $end = microtime(true); $time_array_operator = $end - $start; $start = microtime(true); $keys = array_keys($array); $values = array_values($array); $array = array_combine($keys, $values); $end = microtime(true); $time_array_combine = $end - $start;
在多次执行测试后,我们可以看到以下结果:
方法 | 执行时间 (微秒) |
---|---|
array_flip() |
0.0003 |
array() 运算符 |
0.0004 |
array_combine() |
0.0007 |
结果表明,array_flip()
rrreee
array()
-Operator kann auch zum Konvertieren von Schlüsselwerten verwendet werden, seine Syntax ist jedoch etwas anders: 🎜rrreee🎜 🎜3 . array_combine()-Funktion 🎜🎜🎜array_combine()
-Funktion wird speziell verwendet, um zwei Arrays zu einem assoziativen Array zu kombinieren. Seine Syntax ist wie folgt: 🎜rrreee🎜🎜 Praktischer Fall 🎜🎜🎜 Wir erstellen ein assoziatives Array und transformieren es mit verschiedenen Methoden per Schlüsselwert: 🎜rrreee🎜🎜Ausgabe: 🎜🎜rrreee🎜🎜Geschwindigkeitsvergleich🎜🎜🎜Zum Vergleich Für die Geschwindigkeit verschiedener Methoden können wir die Funktion microtime()
verwenden, um die Ausführungszeit zu messen: 🎜rrreee🎜Nach mehrmaliger Ausführung des Tests können wir die folgenden Ergebnisse sehen: 🎜Methode | Ausführungszeit (Mikrosekunden) |
---|---|
array_flip() code><td>0,0003</td> | |
array() Operator |
0,0004 | array_combine() |
0.0007 |
array_flip() gewinnt an Geschwindigkeit, da sie direkt auf Arrays arbeitet, während andere Methoden die Erstellung temporärer Arrays erfordern. 🎜
Das obige ist der detaillierte Inhalt vonPHP-Array-Schlüsselwertkonvertierung, Geschwindigkeitswettbewerb. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!