Visualizzazione dei risultati da 1 a 2 su 2
  1. #1
    Utente di HTML.it
    Registrato dal
    Oct 2007
    Messaggi
    157

    ricostruire array con 2 funzioni native

    Salve,

    Ho una stringa così fatta:

    $Stringa="x1-y1|x2-y2|x3-y3|x4-y4|x5-y5";

    vorrei ricostruire i due array principali, ovvero l'array delle "x" e l'array delle "y"

    il primo passo è sicuramente questo:

    $ArrayXY=explode("|",$Stringa);


    in questo modo otterrò:


    $ArrayXY = array(
    0 => "x1-y1",
    1 => "x2-y2",
    2 => "x3-y3",
    3 => "x4-y4",
    4 => "x5-y5",
    )



    io voglio che il risultato sia:

    $ArrayX = array(
    0 => "x1",
    1 => "x2",
    2 => "x3",
    3 => "x4",
    4 => "x5",
    )


    $ArrayY = array(
    0 => "y1",
    1 => "y2",
    2 => "y3",
    3 => "y4",
    4 => "y5",
    )


    Vorrei ottenere quel risultato senza usare cicli o funzioni personalizzate che gli utilizzino. Altrimenti lo so fare, però è un metodo poco elegante.

    Grazie
    viva il web.

  2. #2
    ci sono varie varianti, una è:

    Codice PHP:

    $s 
    'x1-y1|x2-y2|x3-y3|x4-y4|x5-y5';

    $sARR explode("|",$s);

    $arrX array_map(function($el){ $el explode("-",$el); return $el[0]; },$sARR);
    $arrY array_map(function($el){ $el explode("-",$el); return $el[1]; },$sARR);

    print_r($arrX);
    print_r($arrY); 
    oppure, dato $sARR,

    Codice PHP:

    $arrX 
    = array();
    $arrY = array();

    $callback = function($el) use (&$arrX,&$arrY){
     
    $elE explode("-",$el);
     
    $arrX[] = $elE[0];
     
    $arrY[] = $elE[1];
     return 
    $el;
    };

    array_map($callback,$sARR);


    print_r($arrX);
    print_r($arrY); 
    IP-PBX management: http://www.easypbx.it

    Old account: 2126 messages
    Oldest account: 3559 messages

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.