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

    trovare il valore prima e dopo di un certo valore in un array

    Ciao

    $var = ('A','4','Z','1','X','B');

    avendo una $var come sopra come posso trovare il valore prima e dopo di 'X' ?

    grazie

    GioMBG
    Giò MBG

  2. #2
    Utente di HTML.it L'avatar di neroux
    Registrato dal
    Aug 2009
    Messaggi
    1,973
    Trova l'indice di X e poi -1 e +1, tenendo a mente che possa essere il primo o l'ultimo elemento. Per gli array associativi c'è prev() e next()

    www.sitemeer.com » Quando un sito pare irraggiungibile

    Se ti piace ci puoi trovare anche su Facebook

  3. #3
    devi usare la funzione next()
    Un tardo hegeliano di Busalla / allevava un gorilla nella stalla
    citando Adorno nell notti chiare / finché il primate stanco di ascoltare
    lo strangolò con una sciarpa gialla Dillo Con Parole Sue

  4. #4
    Prova con questo:
    Codice PHP:
    $ar = array ('A','4','Z','1','X','B') ;
    while ( !
    is_null($key key($ar)) ) {
        
    $val current($ar);
        if(
    $val=='X'){
            
    $precedente=prev($ar);
            
    next($ar);
            
    $successivo=next($ar);
            echo 
    "precedente = ".$precedente;
           echo 
    "successivo = ".$successivo;
        }
        
    next($ar);

    Sono disponibile per realizzare lavori su commissione.

  5. #5
    GRAZIE!
    (a tutti)
    in particolare l'esempio di Longo8 mi funziona perfetto ma chiedo una cosa a chi ne sa più di me:

    prendiamo l'esempio reale della mia situazione:

    Codice PHP:
    $ar = array('2','3','A','C','D','E','F','G','H','I','J','K','L','M','N','O','P','R','S','T');
    while ( !
    is_null($key key($ar)) ) {
        
    $val current($ar);
        if(
    $val=='2'){
            
    $precedente=prev($ar);
            
    next($ar);
            
    $successivo=next($ar);
            echo 
    "precedente = ".$precedente;
           echo 
    "successivo = ".$successivo;
        }
        
    next($ar);

    non mi vede il 3 quando prendo in considerazione il 2: perchè?
    altra cosa che non capisco nel codice per trovare il successivo:

    Codice PHP:
    next($ar);
    $successivo=next($ar); 
    solo
    Codice PHP:
    $successivo=next($ar); 
    non basta perchè?

    COMUNQUE apparte 2 che non vede il 3 è tutto perfetto
    ancora GRAZIE!
    GioMBG
    Giò MBG

  6. #6
    Si non lo vede in quanto con la funzione prev() il puntatore perde l'array se prendi il considerazione il primo. Quindi potresti fare un controllo se è il primo della lista fagli prendere solo il successivo e non il precedente.
    Sono disponibile per realizzare lavori su commissione.

  7. #7

    con la funzione prev() il puntatore perde l'array se consideriamo il primo valore

    Ciao Longo8,
    grande!

    Codice PHP:
    // solo per il successivo nel caso in cui $key == 0;
    if ($key==0) {
    $ar[1];

    GRAZIE
    GioMBG
    Giò MBG

  8. #8
    Prova anche controllando l'ultimo elemento e se ne non va metti un altro controllo del genere.

    P.S. Dovrebbe andare
    Sono disponibile per realizzare lavori su commissione.

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.