Maison > développement back-end > tutoriel php > Comment prendre en compte la compatibilité des types de données lors de la fusion de tableaux PHP ?

Comment prendre en compte la compatibilité des types de données lors de la fusion de tableaux PHP ?

PHPz
Libérer: 2024-04-28 16:54:01
original
794 Les gens l'ont consulté

Lors de la fusion de tableaux PHP, la compatibilité des types de données est cruciale. Différentes méthodes de fusion le gèrent différemment : array_merge() : ajoute des éléments et les convertit en chaînes ; array_combine() : fait correspondre les clés et les valeurs, et laisse vide s'il n'y a pas suffisamment de clés ; = opérateur : fusionner les tableaux de clés numériques et ajouter des valeurs de clés portant le même nom.

Comment prendre en compte la compatibilité des types de données lors de la fusion de tableaux PHP ?

Comment considérer la compatibilité des types de données dans la fusion de tableaux PHP

Lors de la fusion de tableaux en PHP, il est crucial de considérer la compatibilité des types de données car cela affectera le contenu et le type du tableau fusionné. PHP fournit une variété de méthodes de fusion de tableaux, chacune avec sa propre manière de gérer les types de données.

1. La méthode array_merge()

array_merge() ajoute simplement tous les éléments du tableau d'entrée ensemble. Il convertit les éléments de n'importe quel type en chaîne quel que soit le type de données. array_merge() 方法简单地将输入数组的所有元素附加在一起。它不考虑数据类型,将任何类型的元素转换为字符串。

$array1 = [1, 'foo', true];
$array2 = ['bar', 2.5, null];

$mergedArray = array_merge($array1, $array2);

print_r($mergedArray);
Copier après la connexion

输出:

Array
(
    [0] => 1
    [1] => foo
    [2] => true
    [3] => bar
    [4] => 2.5
    [5] => null
)
Copier après la connexion

二、array_combine()

array_combine()

$keys = ['a', 'b', 'c'];
$values = [1, 'foo', true];

$combinedArray = array_combine($keys, $values);

print_r($combinedArray);
Copier après la connexion

Sortie :

Array
(
    [a] => 1
    [b] => foo
    [c] => true
)
Copier après la connexion

2. La méthode array_combine()

array_combine() associe les éléments correspondants de deux tableaux pour créer un tableau associatif. Si un élément est absent du tableau de clés, la valeur associée sera vide.

$array1 = ['foo' => 1, 'bar' => 2];
$array2 = ['foo' => 3, 'baz' => 4];

$array1 += $array2;

print_r($array1);
Copier après la connexion

Sortie :

Array
(
    [foo] => 4
    [bar] => 2
)
Copier après la connexion

3. += opérateur

+= L'opérateur peut fusionner des tableaux, mais il ne s'applique qu'aux tableaux de touches numériques. Il ajoute des éléments avec la même clé.

$users = [
    1 => 'Alice',
    2 => 'Bob',
    3 => 'Charlie'
];

$orders = [
    'order-1' => 100,
    'order-2' => 200,
    'order-3' => 300
];

// 将用户 ID 转换为字符串以匹配订单键
$userIDs = array_keys($users);
$strUserIDs = array_map('strval', $userIDs);

// 使用 array_combine() 将用户 ID 与总计相匹配
$userTotals = array_combine($strUserIDs, array_fill(0, count($userIDs), 0));

// 循环用户数组并更新总计
foreach ($orders as $orderID => $total) {
    $userID = $orderID[0];
    $userTotals[$userID] += $total;
}

print_r($userTotals);
Copier après la connexion

Sortie :
    Array
    (
        [1] => 100
        [2] => 200
        [3] => 300
    )
    Copier après la connexion
  • Cas pratique
  • Considérez le scénario suivant :

    Il existe un tableau d'utilisateurs, contenant des identifiants et des noms d'utilisateur entiers.

    Il existe un tableau de commande contenant l'ID de commande de chaîne et le total de la commande.

    🎜🎜Ces deux tableaux doivent être combinés pour donner à chaque utilisateur le montant total de sa commande. 🎜rrreee🎜Sortie : 🎜rrreee🎜En considérant la compatibilité des types de données, nous avons pu fusionner avec succès les deux tableaux et extraire les données requises. 🎜

    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!

Étiquettes associées:
source:php.cn
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal