Maison >développement back-end >Problème PHP >Comment écrire une fonction en php qui saisit un tableau et le résume
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.
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
Sur la base des exigences ci-dessus, nous pouvons d'abord écrire un pseudo-code simple :
function array_sum($arr) { // 数组求和逻辑 return $sum; }
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; }
Explication du code :
$sum
pour enregistrer le cumul. résultat ; $sum
来保存累加结果;foreach
循环遍历数组中的每个元素 $num
;$num
加到 $sum
中;$sum
。然而,以上代码仅适用于输入数组中的所有元素都是数值型的情况。如果输入的数组中含有非数值型数据,那么代码将抛出错误,函数将无法正常工作。为了更加稳健和健壮的代码,我们需要添加输入校验。
具体实现是在循环体内加入输入校验逻辑,并在输入出错时抛出异常:
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; }
代码解释:
is_numeric()
函数来判断数组元素 $num
是否为数值型;$num
不是数值型,我们抛出一个 InvalidArgumentException
异常,并提示错误信息;$num
是数值型,我们将其加到 $sum
中;$sum
。最后,我们可以进一步为函数代码加入返回类型声明,以方便更好的阅读和代码审查:
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; }
代码解释:
float
,以及函数参数列表前的声明 array
;array
来声明函数的参数 $arr
必须为数组类型;$sum
中;$sum
foreach
pour parcourir chaque élément $num
dans le tableau $num; code> à <code>$sum
; $sum
.
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
; >. 🎜🎜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!