Advertisement
fcamuso

Corso recupero PHP lezione 5

May 1st, 2023
705
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 2.82 KB | None | 0 0
  1. <!DOCTYPE html>
  2. <html lang="it">
  3. <head>
  4.   <meta charset="UTF-8">
  5.   <meta http-equiv="X-UA-Compatible" content="IE=edge">
  6.   <meta name="viewport" content="width=device-width, initial-scale=1.0">
  7.   <title>Document</title>
  8. </head>
  9. <body>
  10.   <?php
  11.     function stampa_array($array_da_stampare, $prefisso, $postfisso) {
  12.       for ($i=0; $i<count($array_da_stampare); $i++)
  13.         echo $prefisso[$i] . ":" . $array_da_stampare[$i] . $postfisso[$i] ."<br>";
  14.     }
  15.   ?>
  16.  
  17.   <?php
  18.  
  19.      $righe = file("promessi_sposi.txt", FILE_IGNORE_NEW_LINES);
  20.      //echo filesize("promessi_sposi.txt") . " ";
  21.  
  22.      $tot_caratteri = 0;
  23.      $tot_righe = 0;
  24.    
  25.  
  26.     //statistiche quante vocali in percentuale
  27.     $frequenze = [0,0,0,0,0]; //o for ($i=0; $i<5; $i++) $frequenze[] = 0;
  28.     $vocali = ["a", "e", "i", "o", "u"];
  29.  
  30.     //metodo di fusione di un array di stringhe in una sola grossa stringa (non smart)
  31.     // $tutte_le_righe="";
  32.     // for ($i=0;$i<count($righe); $i++)
  33.     //   $tutte_le_righe .= $righe[$i];
  34.     $tutte_le_righe = implode($righe);
  35.  
  36.     for ($i=0; $i<strlen($tutte_le_righe); $i++)
  37.     {
  38.        switch( strtolower($tutte_le_righe[$i]))  
  39.          {
  40.             case "a":        
  41.               $frequenze[0]++;
  42.               break;
  43.             case "e":
  44.               $frequenze[1]++;
  45.                 break;  
  46.             case "i":
  47.               $frequenze[2]++;
  48.               break;  
  49.             case "o":
  50.               $frequenze[3]++;
  51.               break;
  52.             case "u":
  53.               $frequenze[4]++;
  54.               break;  
  55.            
  56.               default:
  57.             break;      
  58.  
  59.         }
  60.       }      
  61.  
  62.     // for ($i=0; $i<count($righe); $i++)
  63.     // {
  64.     //   $riga = $righe[$i];
  65.     //   $tot_righe++;
  66.  
  67.     //   $tot_caratteri += mb_strlen($riga);
  68.  
  69.     //   for ($c=0; $c<mb_strlen($riga); $c++)
  70.     //    switch( strtolower($riga[$c]))  
  71.     //    {
  72.     //       case "a":        
  73.     //         $frequenze[0]++;
  74.     //         break;
  75.     //       case "e":
  76.     //         $frequenze[1]++;
  77.     //           break;  
  78.     //       case "i":
  79.     //         $frequenze[2]++;
  80.     //         break;  
  81.     //       case "o":
  82.     //         $frequenze[3]++;
  83.     //         break;
  84.     //       case "u":
  85.     //         $frequenze[4]++;
  86.     //         break;  
  87.          
  88.     //         default:
  89.     //       break;      
  90.  
  91.     //   }
  92.     // }
  93.     $tot_caratteri = strlen($tutte_le_righe);
  94.     echo "Totale Caratteri: $tot_caratteri <br><br>";
  95.    
  96.     $percentuali = [];
  97.     for ($i=0; $i<5; $i++) $percentuali[] = " " .$frequenze[$i]/$tot_caratteri * 100 . "%";
  98.     //for ($i=0; $i<5; $i++) $percentuali[] = " " .$frequenze[$i]/strlen($tutte_le_righe) * 100 . "%";
  99.    
  100.     stampa_array($frequenze, $vocali, $percentuali);
  101.      
  102.  
  103.   ?>
  104. </body>
  105. </html>
  106.  
  107.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement