Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 11

Discussione: ordinare arry

  1. #1
    Utente di HTML.it L'avatar di eraclito
    Registrato dal
    May 2002
    Messaggi
    1,273

    ordinare arry

    ciao,
    in un array dovrei mantenere l'ordine dei valori, ma numerare le chiavi a partire da 0.

    es array ([2]=>"pippo",[23]=>"pluto",[16]=>"topolino")

    risultato: array ([0]=>"pippo",[1]=>"pluto",[2]=>"topolino")


    sapete indicarmi la funzione adatta?

    grazie

    eraclito
    L'apprendere molte cose non insegna l'intelligenza
    Voglio avere dubbi più chiari

  2. #2
    Utente di HTML.it L'avatar di eraclito
    Registrato dal
    May 2002
    Messaggi
    1,273

    Re: ordinare arry

    Originariamente inviato da eraclito
    ciao,
    in un array dovrei mantenere l'ordine dei valori, ma numerare le chiavi a partire da 0.

    es array ([2]=>"pippo",[23]=>"pluto",[16]=>"topolino")

    risultato: array ([0]=>"pippo",[1]=>"pluto",[2]=>"topolino")


    sapete indicarmi la funzione adatta?

    grazie

    eraclito
    L'apprendere molte cose non insegna l'intelligenza
    Voglio avere dubbi più chiari

  3. #3
    Non uso spesso degli array associativi, cmq dovresti usare il ciclo foreach, prova a vedere nel manuale.

  4. #4
    Utente di HTML.it L'avatar di eraclito
    Registrato dal
    May 2002
    Messaggi
    1,273
    Originariamente inviato da Baluba
    Non uso spesso degli array associativi, cmq dovresti usare il ciclo foreach, prova a vedere nel manuale.
    dovrebbe esserci una dunziona... ho provato con sort, ma mi crea problemi quando il record è uno solo.

    In quel caso non cambia la chiave
    L'apprendere molte cose non insegna l'intelligenza
    Voglio avere dubbi più chiari

  5. #5
    sinceramente non conosco la funzione, ho provato a dare un occhio al manuale, ma sarà il caldo, o altro non ho trovato nulla


    comunque una semplice funzioncina così dovrebbe andare

    codice:
    <?php 
    $stack_1 = array("2" => "pippo", "23" => "pluto", "16" => "topolino");
    print_r($stack_1);
    $stack_2 = array();
    
    foreach ($stack_1 as $value){
    	array_push($stack_2, $value);
    }
    print '
    ';
    print_r($stack_2);
    ?>





    Talvolta anche una persona apparentemente inutile si rivela un abile samurai dalla forza di mille uomini, dimostrando di poter rinunciare alla vita e che il suo cuore si è completamente identificato con quello del suo padrone

  6. #6
    Moderatore di Server Apache L'avatar di marketto
    Registrato dal
    Sep 2001
    Messaggi
    5,858
    Originariamente inviato da 13manuel84
    sinceramente non conosco la funzione, ho provato a dare un occhio al manuale, ma sarà il caldo, o altro non ho trovato nulla




    codice:
    $stack_1 = array("2" => "pippo", "23" => "pluto", "16" => "topolino");
    $stack_2 = array_values( $stack_1 );
    print_r( $stack_2 );

    think simple think ringo

  7. #7
    Utente di HTML.it L'avatar di eraclito
    Registrato dal
    May 2002
    Messaggi
    1,273
    Originariamente inviato da 13manuel84
    sinceramente non conosco la funzione, ho provato a dare un occhio al manuale, ma sarà il caldo, o altro non ho trovato nulla


    comunque una semplice funzioncina così dovrebbe andare

    codice:
    <?php 
    $stack_1 = array("2" => "pippo", "23" => "pluto", "16" => "topolino");
    print_r($stack_1);
    $stack_2 = array();
    
    foreach ($stack_1 as $value){
    	array_push($stack_2, $value);
    }
    print '
    ';
    print_r($stack_2);
    ?>






    perfetto

    grazie
    L'apprendere molte cose non insegna l'intelligenza
    Voglio avere dubbi più chiari

  8. #8
    Utente di HTML.it L'avatar di eraclito
    Registrato dal
    May 2002
    Messaggi
    1,273
    Originariamente inviato da marketto




    codice:
    $stack_1 = array("2" => "pippo", "23" => "pluto", "16" => "topolino");
    $stack_2 = array_values( $stack_1 );
    print_r( $stack_2 );

    ancora meglio.

    Provo con un altra domanda sempre sugli array

    In un motore di ricerca faccio tante query quante sono le parole inserite (di cui ovviamente non so il numero)

    Inserisco i risultati in un array multidimensionale $risultati[numero_parola]

    poi devo effettuare un array_intersect con i diversi risultati.

    Ho risolto in modo molto grossonlano:

    codice:
    if ($a==1)
    {$risultati=$risultati[0];}
    elseif ($a==2)
     {$risultati=array_intersect($risultati[0],$risultati[1]);}
    elseif ($a==3)
     {$risultati=array_intersect($risultati[0],$risultati[1],$risultati[2]);}
    elseif ($a==4)
     {$risultati=array_intersect($risultati[0 ],$risultati[1],$risultati[2],$risultati[3]);
    il problema è che questo metodo (oltre a essere brutto a vedersi) funziona solo con un numero fisso di parlole...

    avete qualche idea per rendere la cosa + lineare?
    L'apprendere molte cose non insegna l'intelligenza
    Voglio avere dubbi più chiari

  9. #9
    mmm

    prendi tutto il testo ... lancia un explode ( http://www.php.net/explode ) e poi costruisci una query mettendo nel where le varie parole agganciate tra loro da un OR ... ovvero

    SELECT * FROM tabella WHERE testo LIKE '%parola1%' OR testo LIKE '%parola2%' OR testo LIKE '%parola3%'

    ovviamente puoi anche usare AND

    codice:
    $parole = explode(' ', $testo);
    while(list(, $parola) = each($parole))
    {
        $where_conditions = 'testo LIKE \'%$parola%\'';
    }
    
    $query = 'SELECT * FROM tabella WHERE ' . implode('AND', $where_conditions) . ' eventuali altri comando sql';
    cosi lanci una sola query ... e fa tutto senza scoppiare nulla
    The fastest Redis alternative ... cachegrand! https://github.com/danielealbano/cachegrand

  10. #10
    Originariamente inviato da marketto




    codice:
    $stack_1 = array("2" => "pippo", "23" => "pluto", "16" => "topolino");
    $stack_2 = array_values( $stack_1 );
    print_r( $stack_2 );


    l'avevo detto io che il caldo gioca brutti scherzi
    Talvolta anche una persona apparentemente inutile si rivela un abile samurai dalla forza di mille uomini, dimostrando di poter rinunciare alla vita e che il suo cuore si è completamente identificato con quello del suo padrone

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.