Visualizzazione dei risultati da 1 a 7 su 7
  1. #1

    Cercare elementi dell'array conoscendo solo parte dell'elemento

    Salve,

    se in un array di tipo

    codice:
    Array ( 
    [0] => 1 13 26 39 50 
    [1] => 1 13 26 39 52 
    [2] => 1 13 26 39 55 
    [3] => 1 13 26 50 52 
    [4] => 1 13 26 50 55 
    [5] => 1 13 26 52 55 
    [6] => 1 13 39 50 52 
    [7] => 1 13 39 50 55
    )
    volessi ricercare gli elementi che contengano i numeri 26 50 55

    come potrei fare?

    Ho provato a fare infiniti cicli di For e If ma senza alcun risultato (non lo posto perchè è lunghissimo e molto confuso)...

  2. #2
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,505
    Codice PHP:
    $array1 = array (
        
    1 13 26 39 50,
        
    1 13 26 39 52,
        
    1 13 26 39 55,
        
    1 13 26 50 52,
        
    1 13 26 50 55,
        
    1 13 26 52 55,
        
    1 13 39 50 52,
        
    1 13 39 50 55
    );

    $array2 = array();
    foreach (
    $array1 as $riga)
    {
        if ( 
    strstr($riga'26 50 55') !== FALSE )
            
    $array2[] = $riga;
    }

    print_r($array2); 
    questo considera che 26 50 55 siano in sequenza, per esempio non troverebbe 50 26 55

  3. #3
    è perfetto!

    l'unica cosa è che mi stampa anche
    codice:
     ( ) Array ( ) Array ( ) Array ( ) Array ( ) Array ( ) Array ( ) Array ( ) Array ( )
    oltre al risultato che mi interessa...

    un modo per evitarlo?


    Ps. non mi serve che mi stampi l'elemento... mi serve solo che controlli che ci sia un elemento che contenga quei numeri!

    comunque grazie mille!

  4. #4
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,505
    Hai usato il mio codice risistemandolo in qualche modo (oltre a mettere gli apici su ogni elemento dell'array perché come li ho scritti darebbero errore)?

    Posta il codice che hai usato, perché il mio non ti stamperebbe l'array ripetutamente.

  5. #5
    codice:
    for($a=1, $b=27; $b<=39; $a++, $b++){
    	$coppiacomb=$a." ".$b;
    				
    	$coppia= array();
    	foreach ($gioca1comb as $riga){
        		if ( strstr($riga, $coppiacomb) !== FALSE )
            	$coppia[] = $riga;
    	}
    	print_r($coppia);		
    }
    grazie dell'aiuto!

  6. #6
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,505
    Mettendo il print_r() dentro il ciclo for per forza stampa ad ogni iterazione.

    Quindi ti stampa ciò che trova per ogni accoppiata
    1 27
    2 28
    3 39
    ecc...

    Se vuoi che ti stampi solo se trova una riga che risponde all'ambo cercato, invece di

    print_r($coppia);

    metti

    if ( ! empty($coppia) ) print_r($coppia);

  7. #7
    P E R F E T T O! Grazie mille!

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.