Visualizzazione dei risultati da 1 a 10 su 10
  1. #1
    Utente di HTML.it L'avatar di Threepwood
    Registrato dal
    Feb 2003
    Messaggi
    2,107

    [PHP] Spartizione elementi su array

    Salve a tutti, ho una stringa di questo genere :
    codice:
    ...
    UMM AL QAIWAIN 244
    UZBEKISTAN 271
    VANUATU 121
    VENEZUELA 081
    VERGINI AMERICANE ISOLE 221
    VERGINI BRITANNICHE ISOLE 249
    VIETNAM 062
    ...
    L'array che vorrei risultasse è del tipo NOME_STATO - CODICE.

    Come faccio x popolarlo visto che non posso dividere per "SPAZIO"? (alcuni stati hanno 2-3 spazi....)
    Guybrush Threepwood

  2. #2
    Utente di HTML.it L'avatar di Threepwood
    Registrato dal
    Feb 2003
    Messaggi
    2,107
    Idea:

    potrei fare una cosa del tipo:

    codice:
    $arr=split('\n',$stati);
    for ($i=0;$i<count($arr);$i++)
    {
        $subarray=split(' ', $arr[$i]);
        // COME FACCIO QUA?
    }
    nel "// COME FACCIO QUA?" vorrei fare una funzione del tipo :

    - calcola il numero dei elementi dell'array
    - Prende l'ultimo elemento e lo mette in $parte2
    - Prende gli altri elementi e li mette in $parte1

    Come potrei fare?
    Guybrush Threepwood

  3. #3
    Te la butto lì anche se non son sicuro di aver capito
    Codice PHP:
    $arr=explode('\n',$stati);
    for (
    $i=0;$i<count($arr);$i++)
    {
        
    $subarray=explode(' '$arr[$i]);

        
    $id array_pop($subarray);
        
    $livello implode(' '$subarray);


  4. #4
    Utente di HTML.it L'avatar di nicola75ss
    Registrato dal
    Nov 2004
    Messaggi
    12,922
    preg_match_all("/([A-Z ]+)(\d+)/m",$stringa,$mth);
    print_r($mth[1]); // conterrà gli stati

    print_r($mth[2]); // conterrà i codici;

    p.s. non fidarti ciecamente delle mie espressioni regolari.

  5. #5
    Utente di HTML.it L'avatar di Threepwood
    Registrato dal
    Feb 2003
    Messaggi
    2,107
    Originariamente inviato da nicola75ss
    preg_match_all("/([A-Z ]+)(\d+)/m",$stringa,$mth);
    print_r($mth[1]); // conterrà gli stati

    print_r($mth[2]); // conterrà i codici;

    p.s. non fidarti ciecamente delle mie espressioni regolari.
    Facendo così non credo ci siamo ... mi spara fuori prima tutti i

    Array ( [0] => ABU DHABI [1] => AFGHANISTAN [2] => AJMAN [3] => ALBANIA [4] => ALGERIA [5] => AMERICAN SAMOA [6] => ANDORRA [7] => ANGOLA [8] => ANGUILLA [9] => ANTIGUA E BARBUDA [10] ...

    e poi

    Array ( [0] => 238 [1] => 002 [2] => 239 [3] => 087 [4] => 003 [5] => 148 [6] => 004 [7] => 133 [8] => 209 [9] => 197 [10] => 251 [11] => 005 [12] => 006 [13] => 266 [14] => 212 [15] => 227 [16] => 007 [17] => 008 [18] => 268 [19] => 234 [20] => 160 [21] => 169 [22] => 130 [23] => 118 [24] => 009 [25] => 198 [26] => 158 [27] => 207 [28] =>
    Guybrush Threepwood

  6. #6
    Utente di HTML.it L'avatar di nicola75ss
    Registrato dal
    Nov 2004
    Messaggi
    12,922
    li concateni.
    for ($i = 0; $i < count($mth[1]); $i++)
    echo $mth[1][$i].'- '.$mth[2][$i].'
    ';

  7. #7
    Utente di HTML.it L'avatar di Threepwood
    Registrato dal
    Feb 2003
    Messaggi
    2,107
    Originariamente inviato da nicola75ss
    li concateni.
    for ($i = 0; $i < count($mth[1]); $i++)
    echo $mth[1][$i].'- '.$mth[2][$i].'
    ';
    Xfetto grazie! devo ancora studiarmi bene i preg....
    Guybrush Threepwood

  8. #8
    Utente di HTML.it L'avatar di nicola75ss
    Registrato dal
    Nov 2004
    Messaggi
    12,922
    Originariamente inviato da Threepwood
    Xfetto grazie! devo ancora studiarmi bene i preg....
    A chi lo dici.

  9. #9

  10. #10

    ....

    Ciao.
    Preg a parte questa soluzione non sembra male
    a prima vista ho prelevato l'array con file
    per comodità:
    Codice PHP:
    <?php 
    $array 
    file("file.txt");
    $result = array();
    foreach(
    $array as $row)
    {
        
    $tmp explode(" ",$row);
        
    $num array_pop($tmp);
        
    $result[$num] = implode(" ",$tmp);
    }
    print_r($result);
    ?>
    Che adesso che guardo era già stata suggerita
    ma senza l'array di ritorno

    Without faith, nothing is possible. With it, nothing is impossible
    http://ilwebdifabio.it

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