Visualizzazione dei risultati da 1 a 5 su 5
  1. #1

    Explode modificare array

    Salve a tutti,
    tramite explode creo un'array.
    Ora vorrei fare in modo di poter modificare una voce di questo array.
    Ho trovato il modo per cancellare la singola voce:
    codice:
    <?
    $items = explode(";",$meta_lista_valori); // this is presumably what you have so far
    $clean_inventory = array();
    foreach($items as $item) {
        if( !isset($clean_inventory[$item])) $clean_inventory[$item] = 0;
        $clean_inventory[$item]++;
    }
    // now delete the item you want
    unset($clean_inventory[$nome]);
    // or, if you only want to remove one item,
    // $clean_inventory[$item_to_delete]--;
    // re-save in the "ugly" format...
    $saved = array();
    foreach($clean_inventory as $item=>$quantity) {
        $saved = array_merge($saved,array_fill(0,$quantity,$item));
    }
    $saved = implode(";",$saved);
    echo $saved;
    ?>
    La variabile $nome è l'elemento da cancellare.

    Non riesco invece a trovare una soluzione per modificare una voce.
    Potete aiutarni
    <a href="http://www.robertodidonato.it" target="_blank">Roberto Di Donato</a>

  2. #2
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,445
    $clean_inventory[$nome] = il_valore_che_vuoi

  3. #3
    Utente di HTML.it L'avatar di boots
    Registrato dal
    Oct 2012
    Messaggi
    1,626
    Quote Originariamente inviata da Alhazred Visualizza il messaggio
    $clean_inventory[$nome] = il_valore_che_vuoi
    Ma anche no...
    $clean_inventory[$nome] è un intero (se non ho capito male dovrebbe contare le occorrenze di $nome).
    Potrebbe fare :
    Codice PHP:
    foreach($clean_inventory as $item=>$quantity) {
        
    $name = ($item == $valore_da_sostituire) ? $valore_sostitutivo $item;
        
    $saved array_merge($saved,array_fill(0,$quantity,$name));

    poi però, non è chiaro se in caso di più occorrenze vuole sostituirle tutte,solo una o un tot
    Ultima modifica di boots; 07-03-2018 a 13:27

  4. #4
    Boots perfetto,
    no la sostituzione è singola.
    Grazie ancora.
    <a href="http://www.robertodidonato.it" target="_blank">Roberto Di Donato</a>

  5. #5
    Utente di HTML.it L'avatar di boots
    Registrato dal
    Oct 2012
    Messaggi
    1,626
    Il codice che hai postato presume che ci possano essere delle ripetizioni, es:
    codice:
    $meta_lista_valori = "mela;pera;pera;arancia";
    Come ti ho suggerito, se vuoi sostituire pera con kiwi sostituisci TUTTE le occorrenze. Per questo mi chiedevo se è ciò che ti serve, o vuoi sostituire solo un occorrenza
    (ovviamente, se sai a priori che non ci sono ripetizioni, il discorso non ha senso , e tra l'altro potresti scrivere un codice più semplice)

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.