PHP輸出陣列中數值連續出現的次數(或者只輸出連續出現的最大值)

2022-03-08 02:56:01 字數 3514 閱讀 3863

1樓:

$numberarray = array(0, 0, 1, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 1);

$str = implode('', $numberarray);

$tokens = explode('1', $str);

$maxcount = 0;

foreach ($tokens as $onetoken)echo $maxcount;

這個方法只是針對你給的資料進行運算的  如果真實資料格式與此資料格式差異較大就不好使了

2樓:

<?php

$arr = array(0, 0, 1, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 1);

$num    = 0; //記錄當前的數字$t      = 1; //記錄當前序列的長度$maxnum = 0; //當前最長序列的數字$maxt   = 0; //記錄當前最長序列的長度$arrt  = count($arr);

$num = $arr[0];

for($i=1; $i<$arrt; $i++)else$num = $arr[$i];

$t   = 1;}}

echo $maxnum.",".$maxt;

3樓:匿名使用者

<?php

$array = [2,1,2,1,0,0,1,0,2,0,1,1,0,1,1,1,2,2,1,0];

$arr = ;

$count = 0;

$key=0;

foreach($array as $vo)else$count = 0;

continue;}}

print_r($arr);

echo "

";echo max($arr);

4樓:匿名使用者

給你函式吧,記得采納哦

$arr=array(0 ,0, 1 ,0 ,1 ,1, 1 ,1 ,0, 0, 0 ,1 ,0 ,0 ,0, 0, 0, 1, 1, 1, 0, 0 ,1);

$b=array_count_values($a);

print_r($b);

vb產生30個0~1000的隨機整數,放入一個陣列中,輸出最大值

5樓:兄弟連教育北京總校

'實現**如下

private sub form_click()me.cls

dim n(1 to 30) as integerdim i%,nmax%

dim str as string

'產生30個0-1000的隨機數並寫入陣列randomize

for i = 1 to 30

n(i) = int((1000 - 0 + 1) * rnd + 0)

str = str & n(i) & " "

if i mod 10=0 then str=str & vbcrlf

next i

'找最大值

nmax=n(1)

for i = 1 to 30

if n(i)>nmax then nmax=n(i)next i

print str '窗體顯示隨機數

print "最大值:" & nmax

end sub

php如何統計一個陣列中相同元素的個數

6樓:睡著的糖葫蘆

迴圈 要統計的陣列$a, 把要統計的值 放入另一個陣列中$b, 判斷如果$b中 有這個值,就加1.

excel如何統計同一數值連續出現的最高次數?

7樓:小小歐平兒

1、首先,開啟excel**,需要在以下**中,統計1.58出現的次數。

2、點選c19單元格,開啟公式選單中的插入函式。

3、在插入函式中找到countif函式

4、如果找不到也可以直接搜尋:countif,點選轉到按鈕。

5、選中函式後,點選確定按鈕。

6、點選range框右邊的圖示,選擇資料區域。

7、拖動滑鼠選中b2:e16單元格。

8、在criteria框中輸入:1.58,因為要統計1.58出現的次數。

9、點選確定按鈕,出現次數已經統計出來了。

8樓:山東省飛飛

語法:countif(range,criteria)其中range 表示要計算非空單元格數目的區域,其中criteria 表示以數字、表示式或文字形式定義的條件。

2.以這個例子說明怎麼統計其中「趙四」出現的次數。

3.在e2單元格中輸入=countif(a2:a14,"趙四"),其中a2:a14表示統計的區域,後面趙四需要帶引號,表示要統計的條件。

4.回車以後得到結果是3,與前面區域中的數量是一致的。

9樓:匿名使用者

可用以下公式實現:

=max(frequency(if(a1:a26="a",row(1:26)),if(a1:a26<>"a",row(1:26))))

按組合鍵ctrl+shift+enter結束公式輸入。

其中:frequency函式統計各個區間的連續數,max函式取其中的最大值。

10樓:朱仕平

b1單元格輸入公式後,按shift+ctrl+enter

=max(frequency(if(a1:a25="a",row(1:25)),if(a1:a25<>a2:a26,row(1:25))))+1

11樓:匿名使用者

先在首行插入一個空行,然後從在b2輸入 =if(a2="a",b1+1,0)

向下填充。

然後=max(b:b)就是a連續出現的最高次數。

12樓:

選中列,點選自動篩選,輸入a,就全部出來了,你在看左邊行數,不就知道了嗎。嘿嘿。

13樓:

=max(frequency(if($a$1:$a$26="a",row($a$1:$a$26)),if($a$1:$a$26="a",,row($a$1:$a$26))))

同時按ctrl shift 回車鍵

14樓:匿名使用者

countifs(a1:a26,"=a")

上面是舉例,在a1:a26統計a的出現的次數。假如你在a27輸入下列的函式就能統計出來你想要的結果。

=countifs(a1:a26;"a")

15樓:匿名使用者

frequency秒定,陣列公式,ctrl+shift+enter三鍵輸入

=max(frequency(if(a1:a26="a",row(a1:a26)),if(a1:a26="a",,row(a1:a26))))

c 如何把陣列中不連續重複出現的數字統計出來,並將這些數字儲存到另陣列中

我想說,樓上好像bai說錯了,du假如有zhi3個數4,4,5對於第一個4,確實過dao了,但對於第二個4,它版會記錄下權來因此錯了。因此,用知道不重複,即要知道前面一個數不同,又要與後面一個數不同因此我寫了一個,其中我只寫我需要的部分,其他部分自己補一下就行了。int main if i arr ...

php如何過濾陣列中的空元素?使用那個函式

php中去除一個陣列中的空元素方法很多,但是有一個系統函式是最方便的 array array filter array array callable callback 此函式是依次將 array 陣列中的每個值傳遞到 callback 函式。如果 callback 函式返回 true 則 array...

如何讓EXCEL中某一列中重複出現的數值在前一列中相應的顯示

使用countif函式,bai說明如下 du 函式說明 conutif range,criteria 計算某個區zhi域中dao滿足給定條件內的單元格數目容 函式引數 range 要計算其中非空單元格數目的區域 criteria 以數字 表示式或文字形式定義的條件 函式使用 1.在某單元格插入函式c...