2016-11-28 16 views
-3

この文字列が198419489151085175であると仮定し、この文字列に最も頻繁に表示される数値を取得したいのですが、これをPHPでどのように達成できますか? 2番目に多いのはどうですか?PHPの文字列で最も頻繁に値を取得

ありがとうございます。

+2

[str_split(http://php.net/str_split)、[array_count_values](HTTP:// PHP .net/array_count_values)とおそらく[arsort](http://php.net/arsort)です。 –

+1

_number_ではなく_digit_を最も頻繁に探しています。 – arkascha

答えて

0

あなたは4つのステップでそれを行うことができます:単一の数字を含む文字列から配列を作成するために

  1. 使用str_split()

  2. この分割文字列にarray_count_values()を使用してください。あなたの指数である配列を返します。値はこの数字の発生数です。

  3. arsort()を使用して配列を並べ替えます。

  4. first element of array using reset() and key() functionsを取得します。

例:

<?php 

$string = '198419489151085175'; 

$splittedString = str_split($string); 
$charactersCount = array_count_values($splittedString); 
arsort($charactersCount); 

reset($charactersCount); 
$firstKey = key($charactersCount); 

var_dump($charactersCount); 
var_dump($firstKey); 

、結果がある:

array(7) { 
    [1]=> 
    int(5) 
    [9]=> 
    int(3) 
    [8]=> 
    int(3) 
    [5]=> 
    int(3) 
    [4]=> 
    int(2) 
    [0]=> 
    int(1) 
    [7]=> 
    int(1) 
} 

1 // this is your result 
+0

ですが、どのようにして最も頻繁な数字だけをダンプするのですか?配列全体ではなく、単に "1"を返すように –

+1

何も何の努力もしていない質問に答えるのはなぜですか? –

+0

@ArioRakip、私は私の答えを更新しました。将来のための少しのアドバイス:いくつかのコードを書くことを躊躇しないでください:) – aslawin

関連する問題