PHPSviluppo

Generare un rombo di asterischi in PHP

Ecco una funzione dinamica in PHP che genera un rombo con il carattere *:

function generateDiamond($size) {
  // Verifica che il parametro $size sia un numero intero dispari maggiore di 1
  if (!is_int($size) || $size < 3 || $size % 2 === 0) {
    return 'Il parametro $size deve essere un numero intero dispari maggiore di 1.';
  }

  $diamond = '';
  $spaces = $size / 2;
  $stars = 1;

  for ($i = 0; $i < $size; $i++) {
    for ($j = 0; $j < $spaces; $j++) {
      $diamond .= ' ';
    }

    for ($j = 0; $j < $stars; $j++) {
      $diamond .= '*';
    }

    $diamond .= "\n";

    if ($i < floor($size / 2)) {
      $spaces--;
      $stars += 2;
    } else {
      $spaces++;
      $stars -= 2;
    }
  }

  return $diamond;
}

Questa funzione prende un parametro $size che rappresenta il numero di righe del rombo e restituisce una stringa contenente il rombo generato. La funzione verifica che il parametro $size sia un numero intero dispari maggiore di 1, in caso contrario restituisce un messaggio di errore.

La funzione utilizza due cicli for per generare il rombo. Il primo ciclo for gestisce il numero di righe del rombo, mentre il secondo ciclo for gestisce la generazione di spazi e stelle per ogni riga. La variabile $spaces tiene traccia del numero di spazi da generare per ogni riga, mentre la variabile $stars tiene traccia del numero di stelle da generare per ogni riga.

Il rombo viene generato seguendo la seguente logica:

  1. All’inizio, ci sono floor($size / 2) spazi e una stella.
  2. Per ogni riga successiva fino a metà del rombo, il numero di spazi diminuisce di 1 e il numero di stelle aumenta di 2.
  3. Per le righe successive alla metà del rombo, il numero di spazi aumenta di 1 e il numero di stelle diminuisce di 2.

La funzione restituisce infine la stringa contenente il rombo generato.

Per visualizzare il risultato generato dalla funzione generateDiamond() sullo schermo, puoi semplicemente chiamare la funzione e stampare il valore restituito utilizzando la funzione echo, come mostrato nell’esempio seguente:

<?php

// Definizione della funzione generateDiamond()...

// Chiamata alla funzione e stampa del risultato
echo generateDiamond(7);

In questo esempio, la funzione generateDiamond() viene chiamata con un parametro di 7 per generare un rombo con 7 righe. Il risultato restituito viene quindi stampato sullo schermo utilizzando la funzione echo.

Puoi modificare il parametro di generateDiamond() a tuo piacimento per generare rombi di diverse dimensioni e visualizzarli sullo schermo.

/ 5
Grazie per aver votato!

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *