Visualizzazione risultati 1 fino 4 di 4

Discussione: Stringa / Array / Stringa ... Problema carattere in più

  1. #1
    Guest

    Predefinito Stringa / Array / Stringa ... Problema carattere in più

    Eccomi di nuovo qui a rompervi le scatole, questa volta il mio problema è un particolare che cambia con il passaggio da stringa => array => stringa

    Praticamente ho questo codice :

    Codice PHP:
    <?php

    $numero
    = "5";
    $nuovo = "9";
    $vecchio = "2";

    $stringa = "";
    for (
    $i = 1; $i <= $numero - 1; $i++) {
    $stringa .= $i . ","; }
    $stringa_finale = $stringa . $numero;

    // Sostituzione valore nella stringa

    $array = explode(",", $stringa_finale);
    $array[$vecchio-1] = $nuovo;
    $nuova_stringa = implode(",", $array);

    echo
    $nuova_stringa;
    ?>
    Praticamente questo codice genera una stringa di 5 numeri divisi da una virgola
    "1,2,3,4,5" , trasformando poi questa sequenza in un array utilizzando la funzione explode, quindi diventerebbe cosi {1, 2, 3, 4, 5} poi volendo per esempio cambiare il numero 2 in 9 uso $array[2-1] = 9; e alla fine risulterebbe un array cosi {1, 9, 3, 4, 5} , infine ritrasformo tutto in stringa con implode e io vorrei che diventasse "1,9,3,4,5", invece mi stampa a schermo "1,9,3,4,5,".
    Io vorrei che una volta eseguito lo scambio di valori , quando si ritrasformasse in stringa non risulti l'ultima virgola finale D:

    Grazie mille a chiuque mi RIaiuterà :)

  2. #2
    karl94 non è connesso Staff AV
    Data registrazione
    03-10-2005
    Messaggi
    17,745

    Predefinito

    Il codice è corretto, la variabile $nuova_stringa non contiene la virgola finale.

  3. #3
    Guest

    Predefinito

    Ok grazie mille ora non so se funziona, ma il problema si ripresenta se per esempio non voglio sostiuire nulla, ma semplicemente convertire a vuoto

    Codice PHP:
    <?php

    $numero
    = "5";
    $nuovo = "";
    $vecchio = "";

    $stringa = "";
    for (
    $i = 1; $i <= $numero - 1; $i++) {
    $stringa .= $i . ","; }
    $stringa_finale = $stringa . $numero;

    // Sostituzione valore nella stringa

    $array = explode(",", $stringa_finale);
    $array[$vecchio-1] = $nuovo;
    $nuova_stringa = implode(",", $array);

    echo
    $nuova_stringa;
    ?>

  4. #4
    Guest

    Predefinito

    E che senso ha?

    Se vuoi aggiungere alla lista il numero, basta che fai l'append con la virgola ed il numero, come fai nel for().

    Altrimenti fai una condizione che controlli i valori della variabile per la sostituzione.


Regole di scrittura

  • Non puoi creare nuove discussioni
  • Non puoi rispondere ai messaggi
  • Non puoi inserire allegati.
  • Non puoi modificare i tuoi messaggi
  •