<1>數(shù)組遞歸調用函數(shù)
php語言用函數(shù)求和(hé)求平均值 " />

PHP語言中,數(shù)組是一種非常常見的數(shù)據類型。有(yǒu)時(shí)我們需要對數(shù)組進行(xíng)一些(xiē)常見的操作(zuò),如求和(hé)、平均值等。本文将介紹PHP語言中的數(shù)組遞歸調用函數(shù)以及如何使用函數(shù)求和(hé)和(hé)平均值。

數(shù)組遞歸調用函數(shù)

在PHP中,遞歸是一種非常有(yǒu)用的技(jì)術(shù),可(kě)以方便地對多(duō)層嵌套的數(shù)組進行(xíng)操作(zuò)。在實際開(kāi)發中,經常遇到數(shù)組中嵌套數(shù)組的情況,如果我們要對這個(gè)數(shù)組進行(xíng)操作(zuò),就需要用到遞歸調用函數(shù)。

遞歸調用是指在函數(shù)內(nèi)部調用自身的行(xíng)為(wèi)。如果函數(shù)A中調用了函數(shù)A,那(nà)麽函數(shù)A就是遞歸函數(shù)。在遞歸調用過程中,程序将逐步進入更深層次的函數(shù)調用,直到滿足停止遞歸的條件才開(kāi)始依次返回結果。

在PHP中,我們可(kě)以使用array_walk_recursive()函數(shù)來(lái)遞歸處理(lǐ)多(duō)維數(shù)組。該函數(shù)的基本語法為(wèi):

```php

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

```

其中,$array是要遞歸處理(lǐ)的數(shù)組,$callback是一個(gè)回調函數(shù)用于對數(shù)組的每個(gè)值進行(xíng)處理(lǐ)(回調函數(shù)可(kě)以是自定義函數(shù)或內(nèi)置函數(shù)),$userdata是可(kě)選參數(shù),傳遞給回調函數(shù)的附加數(shù)據。

下面是一個(gè)簡單的示例,演示如何使用array_walk_recursive()函數(shù)處理(lǐ)多(duō)維數(shù)組:

```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');

```

輸出結果為(wèi):

```

name : Apple

color : Red

weight : 150g

name : Banana

color : Yellow

weight : 120g

name : Carrot

color : Orange

weight : 50g

name : Cabbage

color : Green

weight : 400g

```

在這個(gè)示例中,$array是一個(gè)多(duō)維數(shù)組,包含兩個(gè)大(dà)類别(水(shuǐ)果和(hé)蔬菜),每個(gè)大(dà)類别下面有(yǒu)多(duō)個(gè)子類别,如蘋果、香蕉等屬于水(shuǐ)果類别。我們使用array_walk_recursive()函數(shù)将數(shù)組中每個(gè)元素都傳遞給print_item()函數(shù)進行(xíng)輸出。

求和(hé)

求和(hé)是一種非常常見的操作(zuò),可(kě)以使用PHP提供的內(nèi)置函數(shù)array_sum()來(lái)輕松地實現。array_sum()函數(shù)的語法為(wèi):

```php

array_sum(array $array): float|int

```

該函數(shù)接受一個(gè)數(shù)組作(zuò)為(wèi)輸入,返回數(shù)組中所有(yǒu)值的總和(hé)。如果數(shù)組中的值不是數(shù)值類型,則會(huì)被自動轉換成數(shù)值類型。

下面是一個(gè)示例,演示如何使用array_sum()函數(shù)對數(shù)組中的值進行(xíng)求和(hé):

```php

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

$sum = array_sum($array);

echo "sum: $sum\n";

```

輸出結果為(wèi):

```

sum: 15

```

在這個(gè)示例中,$array是一個(gè)包含5個(gè)值的數(shù)組,每個(gè)值都是整數(shù)類型。我們使用array_sum()函數(shù)将數(shù)組中所有(yǒu)值的總和(hé)求出,并使用echo語句輸出結果。

求平均值

求平均值是求和(hé)的衍生(shēng)操作(zuò),可(kě)以使用array_sum()函數(shù)求和(hé)後再除以元素個(gè)數(shù)即可(kě)。還(hái)可(kě)以使用PHP提供的內(nèi)置函數(shù)array_count_values()來(lái)統計(jì)每個(gè)元素出現的次數(shù)。

array_count_values()函數(shù)的語法為(wèi):

```php

array_count_values(array $array): array

```

該函數(shù)接受一個(gè)數(shù)組作(zuò)為(wèi)輸入,并返回一個(gè)新數(shù)組,新數(shù)組的鍵是原數(shù)組中出現的元素,值是該元素在原數(shù)組中出現的次數(shù)。

下面是一個(gè)示例,演示如何使用array_count_values()函數(shù)統計(jì)數(shù)組中每個(gè)元素出現的次數(shù),并計(jì)算(suàn)該數(shù)組所有(yǒu)元素的平均值:

```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";

```

輸出結果為(wèi):

```

count_values:

Array

(

[1] => 1

[2] => 1

[3] => 1

[4] => 1

[5] => 2

)

sum: 20

count: 6

average: 3.3333333333333

```

在這個(gè)示例中,$array是一個(gè)包含6個(gè)值的數(shù)組,在計(jì)算(suàn)平均值之前,我們使用array_count_values()函數(shù)統計(jì)了每個(gè)元素出現的次數(shù),并使用print_r()函數(shù)輸出結果。然後使用array_sum()函數(shù)求和(hé)、count()函數(shù)統計(jì)元素個(gè)數(shù),最後計(jì)算(suàn)平均值并輸出結果。

總結

在PHP語言中,數(shù)組是一種非常常見的數(shù)據類型。有(yǒu)時(shí)我們需要對數(shù)組進行(xíng)一些(xiē)常見的操作(zuò),如求和(hé)、平均值等。本文介紹了PHP語言中的數(shù)組遞歸調用函數(shù)以及如何使用函數(shù)求和(hé)和(hé)平均值。

數(shù)組遞歸調用是一種非常有(yǒu)用的技(jì)術(shù),可(kě)以方便地對多(duō)層嵌套的數(shù)組進行(xíng)操作(zuò)。使用array_walk_recursive()函數(shù)可(kě)以遞歸處理(lǐ)多(duō)維數(shù)組。使用array_sum()函數(shù)可(kě)以輕松地求出數(shù)組中所有(yǒu)值的總和(hé),使用array_count_values()函數(shù)可(kě)以統計(jì)數(shù)組中每個(gè)元素出現的次數(shù)。

上海一涵網絡科技有限公司我們是一家(jiā)專注于網站(zhàn)建設、企業營銷、網站(zhàn)關鍵詞排名、AI內(nèi)容生(shēng)成、新媒體(tǐ)營銷和(hé)短(duǎn)視(shì)頻營銷等業務的公司。我們擁有(yǒu)一支優秀的團隊,專門(mén)緻力于為(wèi)客戶提供優質的服務。

我們緻力于為(wèi)客戶提供一站(zhàn)式的互聯網營銷服務,幫助客戶在激烈的市場(chǎng)競争中獲得(de)更大(dà)的優勢和(hé)發展機會(huì)!

點贊(42) 打賞

評論列表 共有(yǒu) 0 條評論

暫無評論
立即
投稿
發表
評論
返回
頂部