亚洲欧美日韩综合系列在线_91精品人妻一区二区_欧美大肥婆一级特大AA片_九色91视频免费观看_亚洲综合国产精品_av中文字幕在线不卡_久久精品色综合网_看黄色视频的软件_无卡无码高清中文字幕码2024_亚洲欧美日韩天堂网

php數(shù)組如何將奇數(shù)偶數(shù)分開

來(lái)源:藏色散人 發(fā)布時(shí)間:2019-01-16 14:59:14 閱讀量:921

PHP如何在不使用循環(huán)的情況下將奇數(shù)和偶數(shù)元素與數(shù)組分開?

在PHP中,您將獲得n個(gè)元素的數(shù)組。您必須根據(jù)元素奇數(shù)或偶數(shù)將元素與數(shù)組分開。也就是說(shuō),分別打印奇數(shù)數(shù)組和偶數(shù)數(shù)組而不遍歷原始數(shù)組或使用任何循環(huán)。

例子:

1

2

3

4

5

6

7

輸入: array(2, 5, 6, 3, 0)

輸出: 奇數(shù)array: 5 , 3

         偶數(shù)array: 2, 6, 0

 

輸入: $input = array(0, 1, 2, 3, 4, 5)

輸出: 奇數(shù)array: 1, 3, 5

         偶數(shù)array: 0, 2, 4

通過(guò)遍歷數(shù)組并打印奇數(shù)甚至單獨(dú)的元素可以很容易地解決這些類型的問(wèn)題,但這會(huì)占用更多的代碼行,并且代碼中也會(huì)出現(xiàn)循環(huán)開銷。因此,為了避免使用循環(huán),我們將嘗試使用PHP的一些內(nèi)置函數(shù)。這里我們使用兩個(gè)PHP數(shù)組函數(shù)array_filter()和array_values()來(lái)解決這個(gè)問(wèn)題。

array_filter():此函數(shù)將用于過(guò)濾輸入數(shù)組中的奇數(shù)/偶數(shù)元素。

array_values():此函數(shù)將用于重新索引奇數(shù)和偶數(shù)數(shù)組,因?yàn)閍rray_filter奇數(shù)和偶數(shù)數(shù)組具有與其元素在輸入數(shù)組中具有的索引相同的索引。

注意: array_filter()函數(shù)只會(huì)過(guò)濾奇數(shù)/偶數(shù)索引元素及其索引值。應(yīng)用array_filter()函數(shù)后,奇數(shù)數(shù)組的索引將為1,3,5,偶數(shù)數(shù)組的索引將為0,2,4。

算法:

過(guò)濾元素

通過(guò)array_filter()過(guò)濾奇數(shù)元素。

通過(guò)array_filter()過(guò)濾偶數(shù)元素。

重新索引數(shù)組:

使用array_values()重新索引奇數(shù)數(shù)組。

使用array_values()重新索引偶數(shù)數(shù)組。

打印奇數(shù)/偶數(shù)數(shù)組。

以下是上述算法的PHP實(shí)現(xiàn):

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

<?php

$input = array(4, 3, 6, 5, 8, 7, 2);

function oddCmp($input)

{

    return ($input & 1);

}

   

function evenCmp($input)

{

    return !($input & 1);

}

   

$odd = array_filter($input, "oddCmp");

   

$even = array_filter($input, "evenCmp");

   

$odd = array_values(array_filter($odd));

   

$even = array_values(array_filter($even));

   

print"奇數(shù)數(shù)組:\n";

print_r($odd);

   

print"偶數(shù)數(shù)組:\n";

print_r($even);

   

?>

輸出如下圖:

9d8311cfe377f21d9f06d2982abba7b.png

本篇就是關(guān)于php數(shù)組如何將奇數(shù)偶數(shù)分開(不使用循環(huán)的方法)的具體方法介紹,希望對(duì)需要的朋友有所幫助!


標(biāo)簽: PHP
分享:
評(píng)論:
你還沒(méi)有登錄,請(qǐng)先