Visualizzazione dei risultati da 1 a 7 su 7
  1. #1
    Utente di HTML.it L'avatar di Mister
    Registrato dal
    Jan 2001
    Messaggi
    251

    Eseguire una condizione solo dopo aver verificato un ciclo

    ciao.

    Nel ciclo sotto riportato, quando nel $titolo trova una corrispondenza delle parole chiave nella $key_A, la condizione viene eseguita.

    Codice PHP:
    if (in_array($key_A[$i], $titolo)) {                
    // fai qualcosa

    Ora vorrei aggiungere un nuovo controllo, ossia eseguire la condizione solo se nell'array $key_B non è stata trovata la corrispondenza con $titolo anche se la corrispondenza è stata trovata nell'array $key_A

    Il codice sotto è errato ma non saprei come sistemarlo.

    Codice PHP:
    if (in_array($key_A[$i], $titolo) && in_array($testo_B[$i] != $titolo)) {                
    // fai qualcosa

    Grazie

  2. #2
    Codice PHP:
    if (in_array($key_A[$i], $titolo) && !in_array($key_B[$i], $titolo)) {                 
    // fai qualcosa 


  3. #3
    Utente di HTML.it L'avatar di Mister
    Registrato dal
    Jan 2001
    Messaggi
    251
    funziona a metà...
    credo che il ciclo sia errato.

    Il codice sotto funziona perchè le parole key_A e key_B sono nella stessa posizione..
    Codice PHP:
    $titolo =  array("uno","due","tre","quattro","cinque","sei","sette","otto");
    $key_A = array("aaa","bbb","sei","ddd","eee");
    $key_B = array("fff","ggg","sette","hhh","lll");    
        for (
    $i=0$i<=4$i++) 
        if (
    in_array($key_A[$i], $titolo) && !in_array($key_B[$i], $titolo)) {
        echo 
    ciao;
        } 
    posizione diversa non funziona più

    Codice PHP:
    $titolo =  array("uno","due","tre","quattro","cinque","sei","sette","otto");
    $key_A = array("aaa","bbb","sei","ddd","eee");
    $key_B = array("fff","ggg","iii","sette","lll");
        for (
    $i=0$i<=4$i++) 
        if (
    in_array($key_A[$i], $titolo) && !in_array($key_B[$i], $titolo)) {
        echo 
    ciao;
        } 

  4. #4
    Non capisco il ruolo dell'array B!
    Ricapitoliamo, scorro l'array A e se trovo una corrispondenza tra l'iesimo valore contenuto in A e l'array titolo allora cosa si deve verificare nell'array B?!?!
    "Mai discutere con un idiota. Ti trascina al suo livello e ti batte con l'esperienza." (Oscar Wilde)

  5. #5
    Utente di HTML.it L'avatar di Mister
    Registrato dal
    Jan 2001
    Messaggi
    251
    Devo fare un controllo su un flusso xml..

    $titolo: ecco il nuovo notebook con connessione wireless
    $key_a: notebook, ect, ect
    $key_b: wireless, ect, ect

    se nel titolo dell'item trovo una determinata parola chiave (notebook) io assegno un valore (computer) se trovo (wireless) assegno (mobile);
    se però io trovo sia (notebook) che (wireless) mi assegna entrambi i valori (computer) e (mobile).. vorrei invece far si che quando ho la doppia corrispondenza mi venga assegnato un solo valore (mobile)

  6. #6
    Una roba del genere?

    Codice PHP:
    <?php
    function search($keys$list) {
        foreach (
    $keys as $value) {
            if (
    in_array($value$list)) {
                return 
    true;
            }
        }
        return 
    false;
    }

    $titolo =  array("uno""due""tre""quattro""cinque""sei""sette""otto");
    $key_A = array("aaa""bbb""sei""ddd""eee");
    $key_B = array("fff""ggg""sette""hhh""lll");

    $foundA search($key_A$titolo);
    $foundB search($key_B$titolo);

    if (
    $foundA && !$foundB) {
        
    // Fai qualcosa
    }
    ?>
    "Mai discutere con un idiota. Ti trascina al suo livello e ti batte con l'esperienza." (Oscar Wilde)

  7. #7
    Utente di HTML.it L'avatar di Mister
    Registrato dal
    Jan 2001
    Messaggi
    251
    Grazie mille

    E' perfetto!

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.