Visualizzazione dei risultati da 1 a 7 su 7
  1. #1
    Utente di HTML.it
    Registrato dal
    Mar 2013
    Messaggi
    18

    Array multidimensionali help

    ciao a tutti, no riesco a trovare un modo per trovare la chiave di un array multidimensionale in base a un valore contenuto..es:

    Codice PHP:
    $array = array ( 
    => array ( 'id' => '9''gallery_id' => '2''picture' => '56475832.jpg' ),
    => array ( 'id' => '8''gallery_id' => '2''picture' => '20083622.jpg' ), 
    => array ( 'id' => '7''gallery_id' => '2''picture' => '89001465.jpg' ), 
    => array ( 'id' => '6''gallery_id' => '2''picture' => '47360232.jpg' ), 
    => array ( 'id' => '5''gallery_id' => '2''picture' => '4876713.jpg' ), 
    => array ( 'id' => '4''gallery_id' => '2''picture' => '5447392.jpg' 
    ); 

    avendo come valore per esempio 4876713.jpg, come stampo solo
    $array ( 4 => array('id' => '5','gallery_id' =>'2','picture'=>'4876713.jpg'));
    o sapere la chiave dell'array che lo contiene? in questo caso quindi $array[4]; magari un aiutino grazie

  2. #2
    Utente di HTML.it L'avatar di badaze
    Registrato dal
    Jun 2002
    residenza
    Lyon
    Messaggi
    5,372
    Prova.

    codice:
    <?php
    
    function ricerca($val, $an_array) {
    	foreach($an_array as $key => $subArr) {
    		if (in_array($val,$subArr)) return $key;
    	}
    	return -1;
    }
    
    	
    $array = array (  
    0 => array ( 'id' => '9', 'gallery_id' => '2', 'picture' => '56475832.jpg' ), 
    1 => array ( 'id' => '8', 'gallery_id' => '2', 'picture' => '20083622.jpg' ),  
    2 => array ( 'id' => '7', 'gallery_id' => '2', 'picture' => '89001465.jpg' ),  
    3 => array ( 'id' => '6', 'gallery_id' => '2', 'picture' => '47360232.jpg' ),  
    4 => array ( 'id' => '5', 'gallery_id' => '2', 'picture' => '4876713.jpg' ),  
    5 => array ( 'id' => '4', 'gallery_id' => '2', 'picture' => '5447392.jpg' )  
    );
    
    $str ='4876713.jpg';
    
    print ricerca($str,$array);
    print "
    ";
    print ricerca(8,$array);
    Ridatemi i miei 1000 posts persi !!!!
    Non serve a nulla ottimizzare qualcosa che non funziona.
    Cerco il manuale dell'Olivetti LOGOS 80B - www.emmella.fr

  3. #3
    Utente di HTML.it
    Registrato dal
    Mar 2013
    Messaggi
    18
    grazie per la risposta..subito provato ma stampa solo -1 qualsiasi valore e array inserisco...
    provato a partire dal tuo esempio e vedere se riesco ad ottenere quello che voglio ma niente...sembra impossibile

  4. #4
    Utente di HTML.it L'avatar di badaze
    Registrato dal
    Jun 2002
    residenza
    Lyon
    Messaggi
    5,372
    Da me stampa 4 e 1.
    Ridatemi i miei 1000 posts persi !!!!
    Non serve a nulla ottimizzare qualcosa che non funziona.
    Cerco il manuale dell'Olivetti LOGOS 80B - www.emmella.fr

  5. #5
    Utente di HTML.it
    Registrato dal
    Mar 2013
    Messaggi
    18
    scusa ho stampato array che ho di base e all'inizio genera array con chiave
    [immagine]..cambia qualcosa nella funzione?

    Codice PHP:
    $array 
    array ([
    immagine] => Array ( 
    => array ( 'id' => '9''gallery_id' => '2''picture' => '56475832.jpg' ), 
    => array ( 'id' => '8''gallery_id' => '2''picture' => '20083622.jpg' ), 
    => array ( 'id' => '7''gallery_id' => '2''picture' => '89001465.jpg' ), 
    => array ( 'id' => '6''gallery_id' => '2''picture' => '47360232.jpg' ), 
    => array ( 'id' => '5''gallery_id' => '2''picture' => '4876713.jpg' ), 
    => array ( 'id' => '4''gallery_id' => '2''picture' => '5447392.jpg' ) ) ); 

  6. #6
    Utente di HTML.it L'avatar di badaze
    Registrato dal
    Jun 2002
    residenza
    Lyon
    Messaggi
    5,372
    Codice PHP:
    print ricerca($str,$array['immagine']);
    print 
    "
    "
    ;
    print 
    ricerca(8,$array['immagine']); 
    Devi modificare
    codice:
    array ([immagine] => Array (
    in
    codice:
    array ('immagine' => Array (
    Ridatemi i miei 1000 posts persi !!!!
    Non serve a nulla ottimizzare qualcosa che non funziona.
    Cerco il manuale dell'Olivetti LOGOS 80B - www.emmella.fr

  7. #7
    Utente di HTML.it
    Registrato dal
    Mar 2013
    Messaggi
    18
    perfetto! devo fare ricerca in 'immagine' print ricerca($str,$array['immagine'])...

    mi restituisce chiave array che contiene il valore dell'immagine come mi serviva!

    $key = ricerca($val, $my_array['immagine']);
    $new_array = $my_array[$key];

    sei stato veramente gentile badaze!!

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.