Visualizzazione dei risultati da 1 a 6 su 6
  1. #1
    Utente di HTML.it L'avatar di tigerjack
    Registrato dal
    Aug 2003
    Messaggi
    1,661

    [php5.0] ordinare il contenuto di un file testo con formattazione particolare

    Ciao,

    il file di testo è così fatto:

    142;37,50;1;50;1,50;20;20,00;;;
    1;37,50;1;50;1,50;20;20,00;;;
    ;37,50;1;50;1,50;20;20,00;;;

    vorrei che venisse ordinato secondo il primo valore ovvero 142,1, ,

    come si può fare!?


    grazie
    figlio perso e MAI ritrovato....?

  2. #2
    Utente di HTML.it L'avatar di tigerjack
    Registrato dal
    Aug 2003
    Messaggi
    1,661
    ciao,

    con questo script:
    <?php
    // settiamo il file su cui operare
    $txt = "listino.txt";

    // leggiamo rigo per rigo
    $righi = file($txt);

    // ordianiamo
    sort($righi);

    // visualizziamo
    echo '<pre>';
    print_r($righi);
    echo '</pre>';
    ?>

    ordina le righe.. ma.. le ordine in questa maniera
    [413] => 295;3,84;10;60;0,32;120;25,00;;;
    [414] => 298;21,00;6;24;"1,25*";24;20,00;;;
    [415] => 29;0,42;50;1000;0,08;500;16,00;;;

    invece dovrebbe essere..

    [413] => 29;0,42;50;1000;0,08;500;16,00;;;
    [414] => 295;3,84;10;60;0,32;120;25,00;;;
    [415] => 298;21,00;6;24;"1,25*";24;20,00;;;


    come si può risolvere?


    grazie
    figlio perso e MAI ritrovato....?

  3. #3
    Utente di HTML.it L'avatar di tigerjack
    Registrato dal
    Aug 2003
    Messaggi
    1,661
    natsort... il problema si risolve...

    ora ho da risolvere l'ultimo steppsss...

    praticamente se ho... questa situazione...

    [153] => 103;2,04;50;400;0,20;200;20,00;;;
    [30] => 103;6,12;50;100;0,30;100;16,00;;;
    [14] => 103;6,57;50;150;0,40;100;20,00;;;
    [20] => 103;22,50;10;25;0,80;25;20,00;;;
    [21] => 103;25,50;10;20;0,80;20;20,00;" ";;

    vorrei che si trasformazione...

    [153] => 103;2,04;50;400;0,20;200;20,00;;;103;6,12;50;100;0 ,30;100;16,00;;;103;6,57;50;150;0,40;100;20,00;;;1 03;22,50;10;25;0,80;25;20,00;;;103;25,50;10;20;0,8 0;20;20,00;" ";;

    praticamente bisogna concatenare gli ARRAY che iniziano con lo stesso numero....

    grazie
    figlio perso e MAI ritrovato....?

  4. #4
    Utente di HTML.it L'avatar di tigerjack
    Registrato dal
    Aug 2003
    Messaggi
    1,661
    praticamente l'array che viene fuori è cosi formato:

    codice:
    Array
    (
        [0] => "PAG.";"NEUTRO";"MINIMO";"LO";"STAM.";"STAM.";"cliche";;;
    
        [227] => 5;0,96;50;1000;0,10;300;16,00;;;
    
        [268] => 6;8,70;25;400;0,40;50;16,00;;;
    
        [267] => 7;2,64;25;400;0,20;100;16,00;;;
    
        [242] => 8;0,45;50;1000;0,08;600;16,00;;;
    
        [246] => 9;0,60;50;1000;0,10;300;16,00;;;
    
        [214] => 10;0,45;50;1000;0,08;500;16,00;;;
    
        [211] => 11;0,45;50;1000;0,08;600;16,00;;;
    
        [266] => 12;4,44;50;400;0,20;100;16,00;;;
    
        [264] => 12;10,50;10;100;0,40;50;16,00;;;
    
        [2] => 13;44,97;1;50;1,00;20;16,00;;;
    
        [3] => 13;56,70;1;50;1,50;12;16,00;;;
    
        [265] => 14;3,24;50;400;0,20;100;16,00;;;
    
        [270] => 15;30,00;5;50;1,00;20;16,00;;;
    
        [239] => 16;1,14;100;2000;0,10;200;16,00;;;
    
        [235] => 18;0,72;100;2000;0,10;300;16,00;;;
    
        [237] => 19;0,84;100;2000;0,10;300;16,00;;;
    
        [241] => 20;0,48;50;1000;0,08;600;16,00;;;
    
        [238] => 20;0,66;50;1000;0,08;500;16,00;;;
    
        [251] => 21;1,56;50;500;0,10;200;16,00;;;
    
        [269] => 21;1,80;50;1000;"LASER      0,30";200;16,00;;;
    
    etc....
    come devo trattare le varie righe? come deve essere la condizone IF?


    grazie a tutti per l'attenzione...
    figlio perso e MAI ritrovato....?

  5. #5
    Utente di HTML.it L'avatar di tigerjack
    Registrato dal
    Aug 2003
    Messaggi
    1,661
    vorrei ottenere:
    codice:
    Array
    (
        [0] => "PAG.";"NEUTRO";"MINIMO";"LO";"STAM.";"STAM.";"cliche";;;
    
        [227] => 5;0,96;50;1000;0,10;300;16,00;;;
    
        [268] => 6;8,70;25;400;0,40;50;16,00;;;
    
        [267] => 7;2,64;25;400;0,20;100;16,00;;;
    
        [242] => 8;0,45;50;1000;0,08;600;16,00;;;
    
        [246] => 9;0,60;50;1000;0,10;300;16,00;;;
    
        [214] => 10;0,45;50;1000;0,08;500;16,00;;;
    
        [211] => 11;0,45;50;1000;0,08;600;16,00;;;
    
        [266] => 12;4,44;50;400;0,20;100;16,00;;;12;10,50;10;100;0,40;50;16,00;;;
    
        [2] => 13;44,97;1;50;1,00;20;16,00;;;13;56,70;1;50;1,50;12;16,00;;;
    
        [265] => 14;3,24;50;400;0,20;100;16,00;;;
    
        [270] => 15;30,00;5;50;1,00;20;16,00;;;
    
        [239] => 16;1,14;100;2000;0,10;200;16,00;;;
    
        [235] => 18;0,72;100;2000;0,10;300;16,00;;;
    
        [237] => 19;0,84;100;2000;0,10;300;16,00;;;
    
        [241] => 20;0,48;50;1000;0,08;600;16,00;;;20;0,66;50;1000;0,08;500;16,00;;;
    
        [251] => 21;1,56;50;500;0,10;200;16,00;;;21;1,80;50;1000;"LASER      0,30";200;16,00;;;
    
    etc....
    .... si può fare?
    figlio perso e MAI ritrovato....?

  6. #6
    Utente di HTML.it L'avatar di tigerjack
    Registrato dal
    Aug 2003
    Messaggi
    1,661
    sto provando a modificare il codice...

    <?php
    // settiamo il file su cui operare
    $txt = "listino.txt";

    // leggiamo rigo per rigo
    $righi = file($txt);

    // ordianiamo
    natsort($righi);

    for ($i=0;$i<count($righi );$i++){
    //prendo il primo valore di ogni riga
    $p=explode(';',$righi);
    $primovalore=$p['0'];
    if (CHE CONDIZIONE DEVO METTERE?){
    CONCATENARE GLI ARRAY
    }
    }

    // visualizziamo
    echo '<pre>';
    print_r($righi);
    echo '</pre>';
    ?>

    è fattibile come cosa?

    grazie-....
    figlio perso e MAI ritrovato....?

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.