Php concatenazione non funzionante

di il
11 risposte

Php concatenazione non funzionante

Buonasera,
Sto studiando php e ho capito che la concatenazione si fa col punto.
Nel seguente caso peró non funziona:

  <?php
  $col=0;
  for ($count = 0; $count < 12; $count++) {
    echo $col += 9 . ' ';
  }
  ?>
Vorrei stampare la tabella del 9 su una riga coi numeri separati da spazio ma vengono tutti attaccati. Praticamente viene ignorata la concatenazione dello spazio.
Un grazie a chiunque mi può aiutare.

11 Risposte

  • Re: Php concatenazione non funzionante

    dadoo72 ha scritto:


    Vorrei stampare la tabella del 9 su una riga coi numeri separati da spazio ma vengono tutti attaccati. Praticamente viene ignorata la concatenazione dello spazio.
    Riporta il codice integralmente e usa l'apposito tasto per formattarlo, altrimenti risulta illeggibile e non si capisce nulla.
  • Re: Php concatenazione non funzionante

    Scusa non sapevo. Ho modificato il post.
  • Re: Php concatenazione non funzionante

    dadoo72 ha scritto:


    Scusa non sapevo. Ho modificato il post.
    Adesso è più leggibile, anche se non mi è chiara la logica. Innanzitutto, dovresti fare prima la concatenazione dei valori che ti interessano, e poi fare un unico echo alla fine.

    In questo caso, stai stampando i numeri *prima* del loro concatenamento con lo spazio, che viene inserito solo successivamente.

    Per non cambiare troppo il tuo codice e rendere chiaro il procedimento, prova questo:
    
    $col = 0;
    for ($count = 0; $count < 12; $count++) {
    	$col += 9;
    	echo $col . ' ';
    }
    
    Ciao!
  • Re: Php concatenazione non funzionante

    Ti ringrazio per la risposta.
    si, avevo risolto anche con:
    
    echo $var += 9;
    echo ' ';
    
    ma volevo capire, in quanto sto studiando php, perchè con += la concatenazione non funziona e se è possibile risolvere la cosa con meno codice.
    Il risultato che vorrei è:
    9 18 27 36 etc....
  • Re: Php concatenazione non funzionante

    dadoo72 ha scritto:


    ma volevo capire, in quanto sto studiando php, perchè con += la concatenazione non funziona e se è possibile risolvere la cosa con meno codice.
    Il problema non è la concatenazione, ma il fatto che tu metta un "echo" in ogni istruzione, che non serve a nulla.
    Non devi stampare l'incremento di una variabile per fare l'incremento.
    L'echo lo metti solo quando devi stampare il risultato, non su ogni riga.
  • Re: Php concatenazione non funzionante

    Scusa non capisco.
    Io l incremento della variabile lo voglio stampare. È quello lo scopo. E lo voglio stampare sulla stessa riga ma separato da uno spazio. Esempio:
    9 18 27 36 45 54 eccetera.
  • Re: Php concatenazione non funzionante

    dadoo72 ha scritto:


    Scusa non capisco.
    Io l incremento della variabile lo voglio stampare. È quello lo scopo.
    Se vuoi stampare una variabile che si incrementa, fai l'incremento, e poi lo stampi.

    E' come dire "voglio stampare la somma di due numeri inseriti dall'utente": una istruzione acquisirà il primo valore, un'altra il secondo, la terza calcolerà il risultato ed eventualmente alla fine lo si stamperà, inserendo l'echo alla riga finale, poiché la stampa della somma non significa "stampare che faccio la somma" bensì "stampare il risultato della somma".

    Non comprendo quale sia la problematica e perché tu voglia necessariamente scrivere un programma che stampa nella fase non corretta.
  • Re: Php concatenazione non funzionante

    L obiettivo è fare una riga di codice invece che due lasciando comunque un codice chiaro.
  • Re: Php concatenazione non funzionante

    dadoo72 ha scritto:


    L obiettivo è fare una riga di codice invece che due lasciando comunque un codice chiaro.
    Diciamo che il codice non sarà mai chiaro, e l'obiettivo non ha senso, ad ogni modo così funziona:
    
    $col = 0;
    for ($count = 0; $count < 12; $count++) {
    	echo $col =+ (9 * $count) . ' ';
    }
    
  • Re: Php concatenazione non funzionante

    Ti ringrazio per la disponibilità.
  • Re: Php concatenazione non funzionante

    PHP operatore di concatenazione stringa dot (punto),
    $stringa = 'Ciao' . '';
    echo $stringa . "\n"; // Output Ciao
    $stringa .= ' Mondo'; // Sintassi abbreviata di $stringa = $stringa . ' Mondo';
    echo $stringa . "\n"; // Output Ciao Mondo
    PHP operatore di concatenazione array plus (più), come l'esempio della stringa ma per gli elementi che compongono un array.
    Bonus. altre sintassi se non espressamente esplicitamente dal manuale online php.net potrebbero rompere il tuo script. Come nel tuo esempio addizione e poi concatenazione
    // La moltiplicazione tra due numeri, detti fattori formano un terzo numero detto addendo, eccetto casi particolari il valore zero indica addendo zero.
    for($count = 1; $count < 11; $count++) {
    $array[$count - 1] = $count * 9;
    }
    echo '0 ' . $array[0] . ' ' . $array[1] . ' ' . $array[2] . ' ' . $array[3] . ' ' . $array[4] . ' ' . $array[5] . ' ' . $array[6] . ' ' . $array[7] . ' ' . $array[8] . ' ' . $array[9];
Devi accedere o registrarti per scrivere nel forum
11 risposte