Visualizzazione risultati 1 fino 4 di 4

Discussione: Ricavare valore variabile da stringa

  1. #1
    oroscopomaya non è connesso Neofita
    Data registrazione
    10-12-2017
    Messaggi
    28

    Predefinito Ricavare valore variabile da stringa

    Ciao a tutti, ho la necessità di estrarre i valori di una stringa e impostarli relativamente in un array con il valore dato in precedenza nella stringa es:
    Codice PHP:
    $str = "1=25|2=26|3=27|4=28";
    Come faccio per poter prendere solamente il valore tipo del numero 1 (25) ?

  2. #2
    L'avatar di alemoppo
    alemoppo non è connesso Staff AV
    Data registrazione
    24-08-2008
    Residenza
    PU / BO
    Messaggi
    22,686

    Predefinito

    Codice PHP:
    <?php
    $str
    = "1=25|2=26|3=27|4=28";

    $array = explode('|',$str); // $array sarà un array del tipo array(0 => '1=25',1 => '2=26');

    foreach($array as $valore)
    {
    $t = explode('=',$valore); //$t sarà un array di 2 posizioni, del tipo: array(0 => '1',1 => '25'), ovvero nel posto 0 è presente la chiave, mentre nel posto 1 il valore
    $array1[$t[0]] = $t[1];
    }

    print_r($array1);
    EDIT: cercando un attimo si trovava già la risposta: https://stackoverflow.com/questions/...ues-into-array
    È identico al mio, ma ti assicuro che non l'ho copiato!

    Ciao!
    Ultima modifica di alemoppo : 21-11-2018 alle ore 19.01.31

  3. #3
    oroscopomaya non è connesso Neofita
    Data registrazione
    10-12-2017
    Messaggi
    28

    Predefinito

    Grazie mille dell'aiuto! Il codice funziona perfettamente ma non riesco a capire perché mi ripete certe stringhe vuote per ogni valore, questa è la funzione che uso:

    Codice PHP:
    public function test2($str)
    {
    $html = '';
    $array = explode('|',$str); // $array sarà un array del tipo array(0 => '1=25',1 => '2=26');
    foreach($array as $valore)
    {
    $t = explode('=',$valore); //$t sarà un array di 2 posizioni, del tipo: array(0 => '1',1 => '25'), ovvero nel posto 0 è presente la chiave, mentre nel posto 1 il valore
    $array1[$t[0]] = $t[1];
    $html .= "<br />Nella chiave ".$t[0]." il valore risulta ".$t[1]."";
    }
    return
    $html;
    }
    E questo è l'output:
    Codice:
    Notice: Undefined offset: 1 in C:\xampp\htdocs\my\includes\class\test_class.php on line 99
    
    Notice: Undefined offset: 1 in C:\xampp\htdocs\my\includes\class\test_class.php on line 100
    
    Nella chiave il valore risulta 
    Nella chiave 1 il valore risulta 33
    Esempio nella stringa 1=33 è corretto così, ma non capisco il perchè dell'undefined offset 1 e anche il perchè ripete con l'output vuoto
    Ultima modifica di oroscopomaya : 21-11-2018 alle ore 19.59.12

  4. #4
    L'avatar di alemoppo
    alemoppo non è connesso Staff AV
    Data registrazione
    24-08-2008
    Residenza
    PU / BO
    Messaggi
    22,686

    Predefinito

    Puoi indicarmi il codice che stai utilizzando?

    Io con:
    Codice PHP:
    <?php
    $str
    = "1=25|2=26|3=27|4=28";
    echo
    test2($str);

    function
    test2($str)
    {
    $html = '';
    $array = explode('|',$str); // $array sarà un array del tipo array(0 => '1=25',1 => '2=26');
    foreach($array as $valore)
    {
    $t = explode('=',$valore); //$t sarà un array di 2 posizioni, del tipo: array(0 => '1',1 => '25'), ovvero nel posto 0 è presente la chiave, mentre nel posto 1 il valore
    $array1[$t[0]] = $t[1];
    $html .= "<br />Nella chiave ".$t[0]." il valore risulta ".$t[1]."";
    }
    return
    $html;
    }
    Ottengo:
    <br />Nella chiave 1 il valore risulta 25<br />Nella chiave 2 il valore risulta 26<br />Nella chiave 3 il valore risulta 27<br />Nella chiave 4 il valore risulta 28
    Ciao!

Regole di scrittura

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