<1>数组递归调用函数
php语言用函数求和求平均值 " />

在语言中,数组是一种非常常见的数据类型。有时我们需要对数组进行一些常见的操作,如求和、平均值等。本文将介绍语言中的数组递归调用函数以及如何使用函数求和和平均值。

数组递归调用函数

在php中,递归是一种非常有用的技术,可以方便地对多层嵌套的数组进行操作。在实际开发中,经常遇到数组中嵌套数组的情况,如果我们要对这个数组进行操作,就需要用到递归调用函数。

递归调用是指在函数内部调用自身的行为。如果函数a中调用了函数a,那么函数a就是递归函数。在递归调用过程中,程序将逐步进入更深层次的函数调用,直到满足停止递归的条件才开始依次返回结果。

在php中,我们可以使用array_walk_recursive()函数来递归处理多维数组。该函数的基本语法为:

```php

array_walk_recursive($array, $callback [, $userdata]);

```

其中,$array是要递归处理的数组,$callback是一个回调函数用于对数组的每个值进行处理(回调函数可以是自定义函数或内置函数),$userdata是可选参数,传递给回调函数的附加数据。

下面是一个简单的示例,演示如何使用array_walk_recursive()函数处理多维数组:

```php

function print_item($item, $key)

{

echo "$key : $item\n";

}

$array = array(

"fruit" => array(

"apple" => array(

"name" => "apple",

"color" => "red",

"weight" => "150g"

),

"banana" => array(

"name" => "banana",

"color" => "yellow",

"weight" => "120g"

)

),

"vegetable" => array(

"carrot" => array(

"name" => "carrot",

"color" => "orange",

"weight" => "50g"

),

"cabbage" => array(

"name" => "cabbage",

"color" => "green",

"weight" => "400g"

)

)

);

array_walk_recursive($array, 'print_item');

```

输出结果为:

```

name : apple

color : red

weight : 150g

name : banana

color : yellow

weight : 120g

name : carrot

color : orange

weight : 50g

name : cabbage

color : green

weight : 400g

```

在这个示例中,$array是一个多维数组,包含两个大类别(水果和蔬菜),每个大类别下面有多个子类别,如苹果、香蕉等属于水果类别。我们使用array_walk_recursive()函数将数组中每个元素都传递给print_item()函数进行输出。

求和

求和是一种非常常见的操作,可以使用php提供的内置函数array_sum()来轻松地实现。array_sum()函数的语法为:

```php

array_sum(array $array): float|int

```

该函数接受一个数组作为输入,返回数组中所有值的总和。如果数组中的值不是数值类型,则会被自动转换成数值类型。

下面是一个示例,演示如何使用array_sum()函数对数组中的值进行求和:

```php

$array = array(1, 2, 3, 4, 5);

$sum = array_sum($array);

echo "sum: $sum\n";

```

输出结果为:

```

sum: 15

```

在这个示例中,$array是一个包含5个值的数组,每个值都是整数类型。我们使用array_sum()函数将数组中所有值的总和求出,并使用echo语句输出结果。

求平均值

求平均值是求和的衍生操作,可以使用array_sum()函数求和后再除以元素个数即可。还可以使用php提供的内置函数array_count_values()来统计每个元素出现的次数。

array_count_values()函数的语法为:

```php

array_count_values(array $array): array

```

该函数接受一个数组作为输入,并返回一个新数组,新数组的键是原数组中出现的元素,值是该元素在原数组中出现的次数。

下面是一个示例,演示如何使用array_count_values()函数统计数组中每个元素出现的次数,并计算该数组所有元素的平均值:

```php

$array = array(1, 2, 3, 4, 5, 5);

$count_values = array_count_values($array);

$sum = array_sum($array);

$count = count($array);

$average = $sum / $count;

echo "count_values: \n";

print_r($count_values);

echo "sum: $sum\n";

echo "count: $count\n";

echo "average: $average\n";

```

输出结果为:

```

count_values:

array

(

[1] => 1

[2] => 1

[3] => 1

[4] => 1

[5] => 2

)

sum: 20

count: 6

average: 3.3333333333333

```

在这个示例中,$array是一个包含6个值的数组,在计算平均值之前,我们使用array_count_values()函数统计了每个元素出现的次数,并使用print_r()函数输出结果。然后使用array_sum()函数求和、count()函数统计元素个数,最后计算平均值并输出结果。

总结

在php语言中,数组是一种非常常见的数据类型。有时我们需要对数组进行一些常见的操作,如求和、平均值等。本文介绍了php语言中的数组递归调用函数以及如何使用函数求和和平均值。

数组递归调用是一种非常有用的技术,可以方便地对多层嵌套的数组进行操作。使用array_walk_recursive()函数可以递归处理多维数组。使用array_sum()函数可以轻松地求出数组中所有值的总和,使用array_count_values()函数可以统计数组中每个元素出现的次数。 凯时尊龙app-尊龙凯时国际娱乐 是是一个二次元爱好者交换资源的平台,提供最及时,最全面的galgame、漫画、单机游戏、同人游戏的宝贵资源。

购买后如果没出现相关链接,请刷新当前页面!!!
链接失效的请留言 ,我看见了就补上!!!

1.网站内容来源于互联网,我们将这些信息转载出来的初衷在于分享与学习,这并不意味着我们站点对这些信息的观点或真实性作出认可,我们也不承担对这些信息的责任。

2.若出现任何侵权或其他问题,敬请通过电子邮件与管理员联系,我们将尽快采取行动予以删除。

评论列表 共有 0 条评论

暂无评论

发表评论

立即
投稿
发表
评论

免责声明: 文章来自网上收集,均已注明来源,均仅代表作者本人观点,不代表技术网【xagjkx.com】立场,其观点供读者参考。其凯时尊龙app的版权归作者本人所有,如果有任何侵犯您权益的地方,请联系尊龙凯时国际娱乐,我们将马上进行处理,谢谢。


网站地图