Visualizzazione dei risultati da 1 a 3 su 3

Discussione: [PHP] While -> Explode

  1. #1

    [PHP] While -> Explode

    Oh saggi.
    Mi ripropongo sempre con lo stesso errore logico.
    Devo costrutire un piccolo motore di ricerca di utenti nel mio sito e ho pensato bene di scrivere in un file qualcosa del genere:

    nome_utente_1 -> Identificativo [UTENTE] pippo -> Identificativo [UTENTE] pluto -> Identificativo [UTENTE] topolino -> Identificativo [UTENTE] paperina -> Identificativo [UTENTE] torrone -> Identificativo [UTENTE] torta -> Identificativo

    Quindi distinguendo ogni utente con [UTENTE] e ogni nome col proprio identificativo con -> .
    Di conseguenza ho sviluppato:

    Codice PHP:
    <?

    $utente_da_cercare 
    "p";

    $list "nome_utente_1 -> Identificativo [UTENTE] pippo -> Identificativo [UTENTE] pluto -> Identificativo [UTENTE] topolino -> Identificativo [UTENTE] paperina -> Identificativo [UTENTE] torrone -> Identificativo [UTENTE] torta -> Identificativo";

    $utenti_trovati = array();

    $bla explode(" [UTENTE] ",$list);

    $mul 0;
        while (
    $mul <= count($bla)) {
            
            
    $bla_1 explode("->",$bla[$mul]);
            
            if (
    strstr ($bla_1[$mul], $utente_da_cercare)){
             
             
    $utenti_trovati[] = $bla_1[$mul];
             
            }
            
            
    $mul++;
        }
        
    print_r($utenti_trovati);

    ?>
    Il codice dovrebbe restituirmi: pippo e pluto, perchè entrambe comprendono la lettere P .
    Spesso si risolve tutto con una semplice espressione regolare, ma ditemi qui dov'è l'errore e perchè non funge.



    P.S. Ovviamente quel che mi serve non è solo il nome ma anche l'identificativo che varia per ogni utente.

  2. #2
    Utente di HTML.it L'avatar di clasku
    Registrato dal
    Aug 2006
    Messaggi
    3,197
    Guarda i commenti nel codice
    Codice PHP:
    <?

    $utente_da_cercare 
    "p";

    $list "nome_utente_1 -> Identificativo [UTENTE] pippo -> Identificativo [UTENTE] pluto -> Identificativo [UTENTE] topolino -> Identificativo [UTENTE] paperina -> Identificativo [UTENTE] torrone -> Identificativo [UTENTE] torta -> Identificativo";

    $utenti_trovati = array();

    $bla explode(" [UTENTE] ",$list);

    $mul 0;
        while (
    $mul <= count($bla)) {
            
            
    $bla_1 explode("->",$bla[$mul]);
            
            if (
    strstr ($bla_1[0], $utente_da_cercare)){ // non devi mettere $mul, ma [0]
            
             
    $utenti_trovati[] = $bla_1[0]; // non devi mettere $mul, ma [0]
             
             //per il tuo P.S.
        //     $utenti_trovati[] = $bla_1[0]." -> ".$bla_1[1] ; 
             //oppure
        //     $utenti_trovati[] = implode(" -> ", $bla_1); 
            
    }
            
            
    $mul++;
        }
        
    print_r($utenti_trovati);

    ?>


  3. #3
    grazie avevo pensato fosse un errore banale


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