2017-10-19 6 views
-2

私は、私がやっている単語検索アプリのためのプログラムを解決しようとしています。私の目標は、文字列を取得し、その文字列の各文字が別の文字列に何回現れるかを比較することです。次に、その情報をキー値のペアの配列に入れます。ここで、キーは最初の文字列の各文字で、値は回数です。次にar(ソート)でそれを注文し、最後に表示される文字の値をエコーアウトします(最高の値を持つキー)。それぞれに作成された値を持つ新しい連想配列を作成して塗りつぶす方法は?

これはarray( 't' => 4、 'k' => '9'、 'n' => 55)のようなもので、 'n'の値をエコーし​​ます。ありがとうございました。

これまでのところ、これは不完全です。私はあなたが後にあるものを正しく理解していれば

<?php 

     $i = array(); 

     $testString= "endlessstringofletters"; 

     $testStringArray = str_split($testString); 

     $longerTestString= "alphabetalphabbebeetalp 
habetalphabetbealphhabeabetalphabetalphabetalphbebe 
abetalphabetalphabetbetabetalphabebetalphabetalphab 
etalphtalptalphabetalphabetalbephabetalphabetbetetalphabet"; 


      foreach ($testStringArray AS $test) { 

       $value = substr_count($longerTestString, $testStringArray); 

       /* Instead of the results of this echo, I want each $value to be matched with each member of the $testStringArray and stored in an array. */ 
      echo $test. $value;  

     } 
/* I tried something like this outside of the foreach and it didn't work as intended */ 
$i = array_combine($testStringArray , $value); 

      print_r($i); 
+0

私は、これは正確な複製である場合は、正確にわからないんだけど、これは私に[の多くを連想させますこの最近の質問](https://stackoverflow.com/questions/46733941/sorting-characters-by-count-using-php-or-python) –

+1

$アルファベットは何ですか?私はそれがどこでも宣言されて見ることができません –

+0

https://www.w3schools.com/php/php_arrays.aspはあなたに配列の構文を表示する、連想配列を見てください。これにより、そのecho文を置き換えることができます。 – Nic3500

答えて

0

、それはこのような単純なのです:

<?php 

    $shorterString= "abc"; 

    $longerString= "abccbaabaaacccb"; 

    // Split the short sring into an array of its charachters 
    $stringCharachters = str_split($shorterString); 

    // Array to hold the results 
    $resultsArray = array(); 

    // Loop through every charachter and get their number of occurences 
    foreach ($stringCharachters as $charachter) { 
     $resultsArray[$charachter] = substr_count($longerString,$charachter); 
    } 

    print_r($resultsArray); 
関連する問題