Maison > développement back-end > Problème PHP > Comment écrire une fonction en php qui saisit un tableau et le résume

Comment écrire une fonction en php qui saisit un tableau et le résume

PHPz
Libérer: 2023-04-23 10:01:33
original
782 Les gens l'ont consulté

Dans le développement PHP, les tableaux sont souvent l'une des principales structures de données que nous utilisons pour manipuler les données. Cependant, lorsque nous traitons de grandes quantités de données de tableau, nous devons souvent y effectuer des opérations numériques, telles que la sommation. Cet article vous apprendra comment écrire une fonction PHP qui additionne des tableaux.

  1. Comprendre le sens et les exigences de la question

Avant d'utiliser la fonction somme PHP, nous devons déterminer les exigences spécifiques et les scénarios d'utilisation de la fonction. Dans cet article, notre fonction somme de tableau doit répondre aux exigences suivantes : la fonction

  • peut recevoir un tableau en paramètre ; la fonction
  • peut effectuer une opération de somme sur tous les éléments du tableau ; la fonction
  • peut renvoyer ; le résultat de la somme ;
  • La fonction doit garantir que le tableau d'entrée contient des données numériques.

Sur la base des exigences ci-dessus, nous pouvons d'abord écrire un pseudo-code simple :

function array_sum($arr) {
  // 数组求和逻辑
  return $sum;
}
Copier après la connexion
  1. Implémenter la logique de sommation de tableau

Ensuite, nous devons réfléchir à la façon d'implémenter la logique de sommation de tableau. La méthode conventionnelle consiste à utiliser une boucle pour ajouter chaque élément du tableau. Le code est le suivant :

function array_sum($arr) {
  $sum = 0;
  foreach ($arr as $num) {
    $sum += $num;
  }
  return $sum;
}
Copier après la connexion

Explication du code :

  • Tout d'abord, nous définissons une variable $sum pour enregistrer le cumul. résultat ; $sum 来保存累加结果;
  • 然后,我们使用 foreach 循环遍历数组中的每个元素 $num
  • 在循环体内,我们将 $num 加到 $sum 中;
  • 最后,我们返回求和结果 $sum
  1. 添加输入校验

然而,以上代码仅适用于输入数组中的所有元素都是数值型的情况。如果输入的数组中含有非数值型数据,那么代码将抛出错误,函数将无法正常工作。为了更加稳健和健壮的代码,我们需要添加输入校验。

具体实现是在循环体内加入输入校验逻辑,并在输入出错时抛出异常:

function array_sum($arr) {
  $sum = 0;
  foreach ($arr as $num) {
    if (!is_numeric($num)) {
      throw new InvalidArgumentException('Input array must contain numeric elements only');
    }
    $sum += $num;
  }
  return $sum;
}
Copier après la connexion

代码解释:

  • 我们使用 is_numeric() 函数来判断数组元素 $num 是否为数值型;
  • 如果 $num 不是数值型,我们抛出一个 InvalidArgumentException 异常,并提示错误信息;
  • 如果 $num 是数值型,我们将其加到 $sum 中;
  • 最后,我们返回求和结果 $sum
  1. 添加返回类型声明

最后,我们可以进一步为函数代码加入返回类型声明,以方便更好的阅读和代码审查:

function array_sum(array $arr) : float {
  $sum = 0;
  foreach ($arr as $num) {
    if (!is_numeric($num)) {
      throw new InvalidArgumentException('Input array must contain numeric elements only');
    }
    $sum += $num;
  }
  return $sum;
}
Copier après la connexion

代码解释:

  • 首先,我们为函数添加了一个返回类型声明,来指明函数返回值的类型;
  • 返回类型声明包括两部分:冒号后面的数据类型 float,以及函数参数列表前的声明 array
  • 在代码中,我们使用 array 来声明函数的参数 $arr 必须为数组类型;
  • 每次成功扫描到一个数值型元素后,我们将其累加到 $sum 中;
  • 最后,我们返回求和结果 $sum
  • Ensuite, nous utilisons foreach pour parcourir chaque élément $num dans le tableau
    Dans le corps de la boucle, nous ajoutons $num; code> à <code>$sum ;
  1. Enfin, nous renvoyons le résultat de la sommation $sum.

    Ajouter une validation d'entrée🎜🎜🎜Cependant, le code ci-dessus ne s'applique que lorsque tous les éléments du tableau d'entrée sont numériques. Si le tableau d'entrée contient des données non numériques, le code générera une erreur et la fonction ne fonctionnera pas correctement. Pour un code plus robuste et plus robuste, nous devons ajouter une validation d'entrée. 🎜🎜L'implémentation spécifique consiste à ajouter une logique de vérification d'entrée dans le corps de la boucle et à lever une exception lorsque l'erreur d'entrée se produit : 🎜rrreee🎜Explication du code : 🎜🎜🎜Nous utilisons la fonction is_numeric() pour déterminer les éléments du tableau$num est un type numérique ; 🎜🎜Si $num n'est pas un type numérique, nous lançons une exception et une invite InvalidArgumentException un message d'erreur ; 🎜🎜 Si $num est numérique, nous l'ajoutons à $sum 🎜🎜Enfin, nous renvoyons le résultat de la sommation $sum ; >. 🎜🎜
      🎜Ajouter une déclaration de type de retour🎜🎜🎜Enfin, nous pouvons ajouter une déclaration de type de retour au code de fonction pour faciliter une meilleure lecture et révision du code : 🎜rrreee🎜Explication du code : 🎜🎜🎜 Tout d'abord, nous ajoutons une déclaration de type de retour à la fonction pour indiquer le type de valeur de retour de la fonction ; 🎜🎜La déclaration du type de retour comprend deux parties : le type de données après les deux points float et la déclaration avant le paramètre de la fonction ; list array; 🎜🎜Dans le code, nous utilisons array pour déclarer les paramètres de la fonction $arr doit être un type tableau ; 🎜Chaque analyse réussie Après être arrivé à un élément numérique, nous l'accumulons dans $sum 🎜🎜Enfin, nous renvoyons le résultat de la sommation $sum ; 🎜🎜🎜🎜Résumé🎜🎜🎜On peut voir qu'écrire une fonction PHP qui effectue une somme de tableau est relativement simple sur le plan syntaxique. Il nous suffit de comprendre le problème, de réfléchir à la logique et d'ajouter une vérification d'entrée et une déclaration de type de retour en fonction des besoins et des scénarios, et nous pouvons rapidement implémenter une fonction de somme de tableau PHP robuste et efficace. 🎜

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!

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