[PHP] Estrarre elementi array su più variabili

Discussione in 'PHP' iniziata da samurai.sette, 14 Maggio 2019.

  1. samurai.sette

    samurai.sette Utente Attivo

    Registrato:
    17 Dicembre 2015
    Messaggi:
    189
    Mi Piace Ricevuti:
    5
    Punteggio:
    18
    Ciao a tutti.
    Come da titolo mi chiedevo se è possibile estrarre da un array tutti gli elementi ed inserirli ognuno su una sua variabile.
    Faccio un esempio.
    Ipotizziamo di avere un array con 4 valori.
    Secondo voi è possibile estrarre ognuno dei 4 valori dell'array su 4 variabili differenti?
    Mi rendo conto che è una domanda un pò strana ma se qualcuno sa come fare mi piacerebbe saperlo.
    Ciao, grazie mille.
     
  2. macus_adi

    macus_adi Utente Attivo

    Registrato:
    5 Dicembre 2017
    Messaggi:
    882
    Mi Piace Ricevuti:
    49
    Punteggio:
    28
    Sesso:
    Maschio
    Occupazione:
    Developer
    Località:
    L'Aquila
    Ipotizzando di avere l'array associativo si:
    PHP:
    $array=['pippo'=>'pluto','paperino'=>'peppag pig'];
    extract $array);
    echo 
    $pippo.' - '.$paperino;
     
  3. marino51

    marino51 Utente Attivo

    Registrato:
    28 Febbraio 2013
    Messaggi:
    2.518
    Mi Piace Ricevuti:
    123
    Punteggio:
    63
    Occupazione:
    free lance
    Località:
    Lombardia
    4 variabili inventate al momento o 4 variabili che prendono il nome dalla KEY ?

    se vale la 2a ipotesi, si, si può avendo l'accortezza di gestire le key numeriche

    ti riporto l'esempio e la pagina dove trovi maggiori info
    PHP:
    /*
     https://www.w3schools.com/php/func_array_extract.asp
     */

    $my_array = array("a" => "Cat""b" => "Dog""c" => "Horse""d" => "SnowLeopard");
    extract($my_arrayEXTR_OVERWRITE);
    echo 
    $a." - ".$b." - ".$c." - ".$d."<br />";

    $my_array = array(=> "Cat"=> "Dog"=> "Horse"=> "SnowLeopard");
    extract($my_arrayEXTR_OVERWRITE EXTR_PREFIX_ALL"num");
    echo 
    $num_0." - ".$num_1." - ".$num_2." - ".$num_3."<br />";
    upload_2019-5-14_21-46-19.png
     
    Ultima modifica: 14 Maggio 2019
  4. samurai.sette

    samurai.sette Utente Attivo

    Registrato:
    17 Dicembre 2015
    Messaggi:
    189
    Mi Piace Ricevuti:
    5
    Punteggio:
    18
    Ciao a tutti, scusate se non ho risposto subito.
    Ipotizziamo di avere un array così strutturato:
    Codice:
    Array
    (
        [0] => Array
            (
                [id] => 100
                [data] => 2018-01-01
                [ora] => 08:40:40
                [ch1] => 16577
                [ch2] => 16832
                [ch3] => 15919
            )
    
        [1] => Array
            (
                [id] => 101
                [data] => 2018-01-02
                [ora] => 09:01:08
                [ch1] => 16577
                [ch2] => 16832
                [ch3] => 15919
            )
    
        [2] => Array
            (
                [id] => 102
                [data] => 2018-01-03
                [ora] => 09:21:35
                [ch1] => 16577
                [ch2] => 16832
                [ch3] => 15919
            )
    
        [3] => Array
            (
                [id] => 103
                [data] => 2018-01-04
                [ora] => 09:42:03
                [ch1] => 16576
                [ch2] => 16832
                [ch3] => 15919
            )
    )
    Da questo array vorrei creare 6 variabili ($id,$data,$ora,$ch1,$ch2,$ch3) così strutturate:
    $id = "100,101,102,103";
    $data = "2018-01-01,2018-01-02,2018-01-03,2018-01-04";
    ecc.
    Tengo a precisare che la struttura dell'array non è "fissa", nel senso che essa varia a seconda di come è strutturata la tabella da cui estraggo gli elementi.
     
  5. macus_adi

    macus_adi Utente Attivo

    Registrato:
    5 Dicembre 2017
    Messaggi:
    882
    Mi Piace Ricevuti:
    49
    Punteggio:
    28
    Sesso:
    Maschio
    Occupazione:
    Developer
    Località:
    L'Aquila
    PHP:
    $data='IL TUO ARRAY NON DIMENTICARLO';
    $m_data=[];
    $intestazioni=array_keys($data[0]);
    foreach (
    $data as $k=>$v){
       foreach (
    $intestazioni as $items)(!isset($m_data[$items]))?$m_data[$items]=$v[$items]:$m_data[$items].=','.$v[$items];
    }
    extract($m_data);
    In alternativa:
    PHP:
    function array__($data){
       
    $intestazioni=array_keys($data[0]);
       
    $m_data=[];
       foreach (
    $data as $k=>$v){
          foreach (
    $intestazioni as $items)(!isset($m_data[$items]))?$m_data[$items]=$v[$items]:$m_data[$items].=','.$v[$items];
       }
       return 
    $m_data;
    }
    $current_data=array__($data));
    extract($current_data);


    /*************************** ALTRA VERSIONE*/
    function joined($data){
       
    $intestazioni=array_keys($data[0]);
       
    $m_data=[];
       foreach (
    $data as $k=>$v){
          foreach (
    $intestazioni as $items){
             (!isset(
    $m_data[$items]))?$m_data[$items]=[]:null;
             
    $m_data[$items][]=$v[$items];
          }
       }
       foreach (
    $intestazioni as $items){
          
    $m_data[$items]=join(',',$m_data[$items]);
       }
       return 
    $m_data;
    }
    extract(joined($data));
     
    Ultima modifica: 16 Maggio 2019
  6. Max 1

    Max 1 Super Moderatore Membro dello Staff SUPER MOD MOD

    Registrato:
    29 Febbraio 2012
    Messaggi:
    3.772
    Mi Piace Ricevuti:
    283
    Punteggio:
    83
    Sesso:
    Maschio
    @samurai.sette
    Come ti ho già chiesto ancora per regolamento:
    1. quamdo posti codice generico devi usare il tag code.gif
    2. Quando posti codice PHP devi usare il rag php.png
    Grazie
     
Sto caricando...

Condividi questa Pagina