Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 17
  1. #1

    Come trovo i valori ripetuti?

    Ciao
    in parole povere ho un form composto da checkbox, diviso in tre parti da 20 checkbox l'una, ogni parte del form ha name uguale ma value diversi (numeri da 1 a 20)

    tramite isset trovo quali checkbox per ogni name sono stati spuntati e ottengo

    $primo
    $secondo
    $terzo

    ora ho bisogno di confrontare questi tre risultati per sapere se ci sono dei numeri ripetuti e a seconda se ci sono o no stampare un echo diverso, come posso fare?

    grazie
    Manifesto Aggiornato
    Sono proprietà privata di Reika

  2. #2
    Codice PHP:
    if($primo == $secondo || $primo == $terzo || $terzo == $secondo)
     echo 
    "trovata ripetizione";
    else
     echo 
    "nessuna ripetizione trovata"

    Codice PHP:
    if($primo == $secondo) echo "la prima e la seconda scelta sono uguali";
    if(
    $primo == $terzo) echo "la prima e la terza scelta sono uguali";
    if(
    $terzo == $secondo) echo "la seconda e la terza scelta sono uguali"

  3. #3
    Utente di HTML.it L'avatar di Trinità76
    Registrato dal
    Jan 2002
    Messaggi
    1,439

    Re: Come trovo i valori ripetuti?

    Originariamente inviato da luigi.84
    Ciao
    in parole povere ho un form composto da checkbox, diviso in tre parti da 20 checkbox l'una, ogni parte del form ha name uguale ma value diversi (numeri da 1 a 20)

    tramite isset trovo quali checkbox per ogni name sono stati spuntati e ottengo

    $primo
    $secondo
    $terzo

    ora ho bisogno di confrontare questi tre risultati per sapere se ci sono dei numeri ripetuti e a seconda se ci sono o no stampare un echo diverso, come posso fare?

    grazie
    Non sono sicuro di avere capito quello che intendi, cmq io prenderei tutti i valori dei checkbox in Get, o Post, poi per la verifica dipende:
    se devi verificare solo quei tre allora fai un if più o meno così
    codice:
    if( $primo == $secondo || $primo == $terzo || $terzo == $secondo ) {
      echo 'uguali';
    } else {
      echo 'non uguali';
    }
    se invece devi verificarli tutti, allora dopo aver recuperato i valori, li metti tutti in un array, e mano mano che inserisci controlli se il valore è già presente
    codice:
    $check = array();
    if( !in_array( $primo, $check ) ) $check[] = $primo; else die( 'già presente' );
    if( !in_array( $secondo, $check ) ) $check[] = $secondo; else die( 'già presente' );
    personalmente nominerei le variabili tutte con delle lettere seguite da numeri in modo tale da poter gestire tutto il controllo con un ciclo
    $checkbox1, $checkbox2, $checkbox3, ecc.
    わさび

  4. #4
    ma in questo modo mi dice solo se sono identici, potrebbero verificarsi casi del tipo

    $primo = 1 2 3
    $secondo = 1 2 3 4 5
    $terzo = 1 2 3 4 5 6 7 8

    edit: rispondevo a cubalibre810 ora mi guardo il codice di trinità
    Manifesto Aggiornato
    Sono proprietà privata di Reika

  5. #5
    Utente di HTML.it L'avatar di Trinità76
    Registrato dal
    Jan 2002
    Messaggi
    1,439
    Originariamente inviato da luigi.84
    ma in questo modo mi dice solo se sono identici, potrebbero verificarsi casi del tipo

    $primo = 1 2 3
    $secondo = 1 2 3 4 5
    $terzo = 1 2 3 4 5 6 7 8

    edit: rispondevo a cubalibre810 ora mi guardo il codice di trinità
    in $primo, $secondo e $terzo nei checkbox sono a loro volta degli array?
    io stavo cercando una soluzione analoga per delle select in Js (perchè più comodo) ma non ho ancora trovato la soluzione...
    http://forum.html.it/forum/showthrea...readid=1060101
    わさび

  6. #6
    Utente di HTML.it L'avatar di nicola75ss
    Registrato dal
    Nov 2004
    Messaggi
    12,922
    Se ho capito bene ti serve questa
    http://se2.php.net/manual/it/functio...-intersect.php

  7. #7
    Originariamente inviato da nicola75ss
    Se ho capito bene ti serve questa
    http://se2.php.net/manual/it/functio...-intersect.php
    no, array_intersect mi dice quali valori sono uguali, io voglio sapere SE ci sono valori uguali, non mi interessa quali
    Manifesto Aggiornato
    Sono proprietà privata di Reika

  8. #8
    Utente di HTML.it L'avatar di nicola75ss
    Registrato dal
    Nov 2004
    Messaggi
    12,922
    Originariamente inviato da luigi.84
    no, array_intersect mi dice quali valori sono uguali, io voglio sapere SE ci sono valori uguali, non mi interessa quali
    fai un count di array_intersect, se è pari a 0 vuol dire che non ci sono elementi ripetuti.

  9. #9
    Utente di HTML.it L'avatar di Trinità76
    Registrato dal
    Jan 2002
    Messaggi
    1,439
    Originariamente inviato da luigi.84
    no, array_intersect mi dice quali valori sono uguali, io voglio sapere SE ci sono valori uguali, non mi interessa quali
    Allora l'ideale sarebbe usare Js in modo da evitare di fare controlli server side in continuazione e di fare back col browser... il risultato magari è lo stesso, ma credo in Js venga meglio (sempre se ho capito bene )
    わさび

  10. #10
    aspettate che non mi ci sto raccapezzando più, ho provato e utilizzando questo codice:

    Codice PHP:
    if( $primo == $secondo || $primo == $terzo || $terzo == $secondo ) {
      echo 
    'campi ripetuti
    '
    ;
    } else {
      echo 
    'campi non ripetuti
    '
    ;

    mi stampa "campi ripetuti" anche se un solo numero è ripetuto
    ad esempio con
    1 2 3
    1 4 5
    7 8 9
    mi stampa "campi ripetuti" e questo mi sta bene

    ora, se io volessi stampare "campi uguali" solo e solo se $primo è completamente contenuto in $secondo e solo se $secondo è completamente contenuto in $terzo come si fa?
    Manifesto Aggiornato
    Sono proprietà privata di Reika

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.