Visualizzazione dei risultati da 1 a 9 su 9
  1. #1
    Utente di HTML.it L'avatar di gasmor
    Registrato dal
    Apr 2004
    Messaggi
    1,768

    Sostituire numeri in una stringa

    Ho queste 2 stringhe:

    $a = 1,64,275,42
    $b = 64,27

    Come faccio a sottrarre $b ad $a ed ottenere:

    $c = 1,275,42

    :master:
    Hai provato a creare un sito con Jaaxo Cms PHP5? new!

  2. #2
    io userei str_replace

    $c=str_replace($b, '', $a)

    comunque qui trovi molti altre funzioni relative alle stringhe http://php.html.it/guide/lezione/265...e-le-stringhe/

  3. #3
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,505
    Codice PHP:
    $array_a explode(",",$a);
    $array_b explode(",",$b);

    $result array_diff($array_a$array_b);
    $c implode(",",$result); 

  4. #4
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,505
    Originariamente inviato da sea_green
    io userei str_replace

    $c=str_replace($b, '', $a)

    comunque qui trovi molti altre funzioni relative alle stringhe http://php.html.it/guide/lezione/265...e-le-stringhe/
    Non funziona, restituirebbe
    1,5,42
    che è sbagliato.

  5. #5
    Utente di HTML.it L'avatar di gasmor
    Registrato dal
    Apr 2004
    Messaggi
    1,768
    grazias
    Hai provato a creare un sito con Jaaxo Cms PHP5? new!

  6. #6
    restituirebbe 1,5,42
    che sciocca è vero!

    in realtà si può anche

    codice:
    $d=substr($b, 0 , 3); //$d=64, 
    $c=str_replace($d, '', $a); //viene eliminato $d
    Può essere meglio questo codice o quello di Alhazred a seconda dell'applicazione a cui lo destinerai...

  7. #7
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,505
    Originariamente inviato da sea_green
    che sciocca è vero!

    in realtà si può anche

    codice:
    $d=substr($b, 0 , 3); //$d=64, 
    $c=str_replace($d, '', $a); //viene eliminato $d
    Può essere meglio questo codice o quello di Alhazred a seconda dell'applicazione a cui lo destinerai...
    Si, ma questo codice funziona solo in questo caso, se gli capitano altre due stringhe deve riscrivere il codice.
    Quello che ho scritto io invece funziona sempre senza bisogno di modifiche, qualunque stringa gli si presenti.

  8. #8
    sì va limato con altre variabili... o altre funzioni

    ma anche il tuo ha una pecca

    se i valori iniziali fossero

    $a = 1,64,27,542
    $b = 64,27

    con il tuo metodo verrebbe $c=1,542

    con il mio $c=1,27,542

    quindi bisogna vedere l'applicazione per la quale viene utilizzato
    perché i due metodi fanno di fatto cose diverse...

  9. #9
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,505
    Originariamente inviato da sea_green
    sì va limato con altre variabili... o altre funzioni

    ma anche il tuo ha una pecca

    se i valori iniziali fossero

    $a = 1,64,27,542
    $b = 64,27

    con il tuo metodo verrebbe $c=1,542

    con il mio $c=1,27,542

    quindi bisogna vedere l'applicazione per la quale viene utilizzato
    perché i due metodi fanno di fatto cose diverse...
    Lo ha detto esplicitamente nel primo post di cosa ha bisogno
    Come faccio a sottrarre $b ad $a...
    e ciò che fa il mio codice è esattamente questo.

    Quello che tu hai scritto qui non è una sottrazione tra insiemi ($a-$b), ma fa l'unione dei due e poi elimina gli elementi comuni, ciò non è la sottrazione tra insiemi.

    Edit: no, il tuo codice non è neanche questo che fa, elimina solo il 64, perché non dovrebbe rimuovere il 27?

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 © 2025 vBulletin Solutions, Inc. All rights reserved.