Maison  >  Article  >  développement back-end  >  La fusion de tableaux PHP ajoute la valeur du champ

La fusion de tableaux PHP ajoute la valeur du champ

王林
王林original
2023-05-05 22:55:06637parcourir

En programmation PHP, le tableau est l'un des types de données couramment utilisés. Les tableaux peuvent être utilisés pour stocker et gérer facilement les données. Dans certaines programmations réelles, nous rencontrerons des situations dans lesquelles nous devrons fusionner plusieurs tableaux et y ajouter ou modifier certains champs. Cet article explique comment utiliser PHP pour fusionner des tableaux et ajouter des valeurs à certains champs.

1. Fusion de tableaux

En PHP, nous pouvons utiliser la fonction array_merge() pour fusionner deux ou plusieurs tableaux. L'utilisation de cette fonction est la suivante :

$array1 = array('a', 'b', 'c');
$array2 = array('d', 'e', 'f');
$array3 = array_merge($array1, $array2);
print_r($array3);

Le résultat de l'exécution est le suivant :

Array
(
    [0] => a
    [1] => b
    [2] => c
    [3] => d
    [4] => e
    [5] => f
)

Comme le montre le résultat, $array3 est formé en fusionnant $array1 et $array2. Parmi eux, la valeur de $array1 vient en premier et la valeur de $array2 vient en dernier. Il convient de noter que si deux tableaux ont le même nom de clé, ce dernier écrasera le premier.

2. Ajouter des valeurs à certains champs du tableau

En plus de fusionner des tableaux, nous devons souvent modifier certaines valeurs du tableau. Dans cet article, ce que nous voulons réaliser, c'est ajouter des valeurs à certains champs d'un tableau. Par exemple, ajoutez un champ de note totale à un tableau d'étudiants. Supposons que nous ayons les deux tableaux d'étudiants suivants :

$student1 = array('name' => '张三', 'score1' => 80, 'score2' => 90);
$student2 = array('name' => '李四', 'score1' => 85, 'score2' => 95);

Maintenant, nous voulons ajouter un champ de note totale, la méthode est la suivante :

$student1['total'] = $student1['score1'] + $student1['score2'];
$student2['total'] = $student2['score1'] + $student2['score2'];

De cette façon, deux tableaux d'étudiants sont ajoutés séparément Un champ de note totale. Vous pouvez maintenant afficher les résultats en parcourant le tableau :

$students = array($student1, $student2);
foreach ($students as $student) {
    echo $student['name'] . "的总成绩是:" . $student['total'] . "<br/>";
}

Les résultats en cours d'exécution sont les suivants :

张三的总成绩是:170
李四的总成绩是:180

3. Combinez les tableaux fusionnés et ajoutez des valeurs de champ au tableau. array

Avec la connaissance des deux parties ci-dessus, nous pouvons obtenir l'effet que nous souhaitons obtenir en les combinant : fusionner des tableaux et ajouter des valeurs à certains champs qu'ils contiennent.

Supposons que nous ayons les tableaux suivants d'élèves de deux classes :

$class1 = array($student1, $student2);
$class2 = array(
    array('name' => '王五', 'score1' => 90, 'score2' => 95),
    array('name' => '赵六', 'score1' => 85, 'score2' => 80)
);

Maintenant, nous voulons fusionner les tableaux des deux classes et ajouter un champ de note totale à chaque élève. La méthode de mise en œuvre est la suivante :

// 合并两个班级的学生数组
$students = array_merge($class1, $class2);

// 遍历数组,给每个学生增加总成绩字段
foreach ($students as &$student) {
    $student['total'] = $student['score1'] + $student['score2'];
}

Il est à noter que lors de la traversée du tableau, vous devez utiliser la référence & le symbole, sinon le champ de score total augmenté ne sera pas enregistré dans le tableau.

Vous pouvez désormais parcourir l'ensemble du tableau et voir les résultats :

foreach ($students as $student) {
    echo $student['name'] . "的总成绩是:" . $student['total'] . "<br/>";
}

Les résultats en cours d'exécution sont les suivants :

张三的总成绩是:170
李四的总成绩是:180
王五的总成绩是:185
赵六的总成绩是:165

À ce stade, nous J'ai implémenté plusieurs tableaux. La fonction de fusionner et d'ajouter des valeurs à certains champs. Cette méthode peut facilement gérer de grandes quantités de données et effectuer des opérations rapides.

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:
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