Maison  >  Article  >  développement back-end  >  Comment trouver la somme de certains éléments d'un tableau en php

Comment trouver la somme de certains éléments d'un tableau en php

PHPz
PHPzoriginal
2023-04-20 10:14:54586parcourir

Récemment, j'ai rencontré un problème lors du développement d'un site Web. J'ai besoin d'obtenir des données d'un tableau pour les afficher sur le site Web. Ce tableau contient de nombreux éléments, mais seuls certains d’entre eux répondent à mes besoins. Après des tentatives et des recherches constantes, j'ai finalement trouvé une solution, qui est la fonction array_slice() en PHP. Dans cet article, je vais vous présenter en détail le principe d’utilisation et de mise en œuvre de cette fonction.

Tout d’abord, nous devons comprendre la syntaxe de base de la fonction array_slice(). Sa syntaxe est la suivante :

array array_slice ( array $array , int $offset [, int $length = NULL [, bool $preserve_keys = FALSE ]] )

Parmi eux, $array est le tableau que nous voulons traiter, $offset représente la position de départ des données que nous voulons obtenir, $length représente la longueur des données que nous voulons obtenir, si non spécifié, il sera obtenu par défaut à partir de $offset Toutes les données jusqu'à la fin du tableau, $preserve_keys indique s'il faut conserver les noms de clé des éléments du tableau d'origine. La valeur de retour de cette fonction est un nouveau tableau contenant la partie spécifiée des données.

Ensuite, voyons comment utiliser cette fonction. Supposons que nous ayons un tableau $students qui contient de nombreuses informations sur les étudiants. Chaque élément contient le nom de l'étudiant, son numéro d'étudiant, son sexe, son âge et d'autres informations. Nous devons obtenir les noms et les numéros d'étudiant des 10 premiers étudiants, puis nous vous. peut écrire le code comme ceci :

$students = array(/*这里是很多个学生信息*/);
$part_students = array_slice($students, 0, 10); //获取前10个学生的数据
$name_id = array_map(function($s) { //通过array_map()函数,将每个学生的姓名和学号取出来
  return array(
    'name' => $s['name'],
    'id' => $s['id']
  );
}, $part_students);

//将数据在网站上进行展示
foreach($name_id as $info) {
  echo "姓名:".$info['name']." 学号:".$info['id']."<br/>";
}

Avec le code ci-dessus, nous pouvons obtenir les noms et numéros d'étudiant des 10 premiers étudiants du tableau $students et les afficher sur le site Web. Le code ci-dessus utilise également la fonction array_map(). Les amis qui ne la connaissent pas peuvent le rechercher et l'apprendre par eux-mêmes.

En plus d'obtenir une partie du tableau, la fonction array_slice() peut également utiliser un nombre négatif pour représenter la position décomptée à partir de la fin du tableau. Par exemple, si nous voulons obtenir les données des 10 derniers étudiants du tableau, nous pouvons écrire :

$part_students = array_slice($students, -10);

De cette façon, le tableau $part_students contient les données des 10 derniers étudiants du tableau $students.

Enfin, explorons le principe d'implémentation de la fonction array_slice(). En fait, l'implémentation de cette fonction est très simple, utilisant principalement les fonctions array_chunk() et array_merge() en PHP. En prenant comme exemple les 10 premiers éléments d'un tableau, l'implémentation interne de la fonction est à peu près la suivante :

function array_slice($array, $offset, $length = NULL, $preserve_keys = FALSE) {
  $len = count($array);
  if($offset < 0) { //如果$offset是负数,就转化成从数组末尾倒数的位置
    $offset = $len + $offset;
  }
  if($length === NULL) { //如果$length没指定,就获取从$offset到数组末尾的所有数据
    $length = $len - $offset;
  }
  $chunk = array_chunk($array, $length, $preserve_keys); //将数组按指定长度分块
  $part = $chunk[0]; //获取第一块的数据
  if(!$preserve_keys) { //如果不保留键名,重新索引数组
    $part = array_values($part);
  }
  return $part;
}

Parmi eux, la fonction array_chunk() divise le tableau en plusieurs blocs selon la longueur spécifiée, chaque bloc est un sous-tableau et la fonction array_merge(). Elle combine plusieurs sous-tableaux en un tableau global. En combinant ces deux fonctions, la fonction array_slice() peut réaliser la fonction d'obtenir une partie des données du tableau.

Dans le développement réel, nous avons souvent besoin d'obtenir une partie des données à partir d'une grande quantité de données pour les afficher. À l'heure actuelle, la fonction array_slice() est très pratique. Il peut rapidement découper les données que nous souhaitons traiter en parties dont nous avons besoin. Dans le même temps, comme il s’agit d’une fonction intégrée de PHP, son efficacité d’exécution est également très élevée.

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