Maison > développement back-end > tutoriel php > Conversion clé-valeur du tableau PHP, compétition de vitesse

Conversion clé-valeur du tableau PHP, compétition de vitesse

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
Libérer: 2024-05-03 12:06:01
original
1166 Les gens l'ont consulté

Comparaison de la vitesse de conversion clé-valeur du tableau PHP : array_flip() est le plus rapide, fonctionnant directement sur le tableau, et le temps d'exécution est de 0,0003 microsecondes ; l'opérateur array() est le deuxième, avec 0,0004 microsecondes() est le plus lent, nécessitant la création d'un tableau temporaire, le temps d'exécution est de 0,0007 microsecondes.

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

Conversion clé-valeur d'un tableau PHP : concurrence rapide qui est la plus forte

En PHP, la conversion clé-valeur d'un tableau est une opération courante, comme la conversion d'un tableau associatif en un tableau d'index ou la conversion d'un tableau d'index à un tableau associatif. Il existe plusieurs façons d'y parvenir, mais leurs performances peuvent varier considérablement en termes de vitesse.

1. Fonction array_flip()

La fonction array_flip() peut échanger rapidement les valeurs clés​​des tableaux associatifs. Sa syntaxe est simple : array_flip() 函数可快速将关联数组的键值进行互换。它的语法很简单:

$array = array_flip($array);
Copier après la connexion

2. array() 运算符

array() 运算符也可以用于转换键值,但其语法略有不同:

$array = array(array_flip($array));
Copier après la connexion

3. array_combine() 函数

array_combine() 函数专门用于将两个数组合并成一个关联数组。它的语法如下:

$keys = array_keys($array);
$values = array_values($array);
$array = array_combine($keys, $values);
Copier après la connexion

实战案例

我们创建一个关联数组,并使用不同的方法对其进行键值转换:

$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);
Copier après la connexion

输出:

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
)
Copier après la connexion

速度比较

为了比较不同方法的速度,我们可以使用 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;
Copier après la connexion

在多次执行测试后,我们可以看到以下结果:

方法 执行时间 (微秒)
array_flip() 0.0003
array() 运算符 0.0004
array_combine() 0.0007

结果表明,array_flip()rrreee

🎜2. L'opérateur array() 🎜🎜🎜L'opérateur array() peut également être utilisé pour convertir des valeurs clés, mais sa syntaxe est légèrement différente : 🎜rrreee🎜 🎜3. . Fonction array_combine() 🎜🎜🎜La fonction array_combine() est spécialement utilisée pour combiner deux tableaux en un tableau associatif. Sa syntaxe est la suivante : 🎜rrreee🎜🎜 Cas pratique 🎜🎜🎜 Nous créons un tableau associatif et le transformons clé-valeur en utilisant différentes méthodes : 🎜rrreee🎜🎜Sortie : 🎜🎜rrreee🎜🎜Comparaison rapide🎜🎜🎜Pour comparaison Pour la vitesse des différentes méthodes, nous pouvons utiliser la fonction microtime() pour mesurer le temps d'exécution : 🎜rrreee🎜Après avoir exécuté le test plusieurs fois, nous pouvons voir les résultats suivants : 🎜
Méthode Durée d'exécution (microsecondes)
array_flip() code><td>0.0003</td>
opérateur array() 0.0004
array_combine() 0.0007
🎜Les résultats montrent que, array_flip() gagne en vitesse car elle opère directement sur les tableaux, alors que d'autres méthodes nécessitent la création de tableaux temporaires. 🎜

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers numéros
Impossible d'installer Java
Depuis 1970-01-01 08:00:00
0
0
0
Java peut-il être utilisé comme backend du Web ?
Depuis 1970-01-01 08:00:00
0
0
0
Installer JAVA
Depuis 1970-01-01 08:00:00
0
0
0
Aide : Données chiffrées JAVA Décryptage PHP
Depuis 1970-01-01 08:00:00
0
0
0
Est-ce en langage Java ?
Depuis 1970-01-01 08:00:00
0
0
0
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal