Accanto chiave nell’array

Ho un array:

$array=array(
    "sdf"=>500,
    "gsda"=>1000,
    "bsdf"=>1500,
    "bads"=>2000,
    "iurt"=>2500,
    "poli"=>3000
);

Come posso ottenere il nome del prossimo chiave? Per esempio, se la matrice corrente è gsda, ho bisogno di bsdf.

InformationsquelleAutor Jordy | 2011-09-17



7 Replies
  1. 5

    Se il puntatore del current() è la chiave giusta, @Thomas_Cantonnet è giusto e si desidera utilizzare next(). Se non hai scorrere l’array tramite next(), dovete prima passare attraverso la matrice di impostare l’indice interno puntatore correttamente:

    $search = "bsdf";
    while (($next = next($array)) !== NULL) {
        if ($next == $search) {
            break;
        }
    }

    Ora $punti, alla ricerca corrente-indice e si può iterare il resto via next().

    • Si prega di utilizzare le parentesi attorno a tutti i blocchi di codice. 🙂
    • infatti – sembra più leggibile. =)
  2. 25

    Se il puntatore non è su questo elemento, come altre soluzioni di assumere, È possibile utilizzare

    <?php
        $keys = array_keys($arr);
        print $keys[array_search("gsda",$keys)+1];
    • Ciò causerà un problema per l’ultimo elemento. Dovrebbe essere $keys = array_keys($arr); $index = array_search("gsda",$keys); if ( count($arr) <= $index+1 ) { print 'end of array'; } else { print $keys[$index+1]; } per gestire correttamente l’array confini.
  3. 14
    $next = next($array); 
    echo key($array);

    Deve restituire la chiave relativa a $successiva;

  4. 0

    è possibile utilizzare un foreach

    $test=array(
    1=> array("a","a","a"),
    2=> array("b","b","b"),
    'a'=> array("c","c","c")
    );
    
    foreach (array_keys($test) as $value)
    {
        foreach ($test[$value] as $subValue)
        {
            echo $subValue."  -  ".$value;
            echo "\n";
        }
        echo "\n";
    }

    uscita

    a  -  1
    a  -  1
    a  -  1
    
    b  -  2
    b  -  2
    b  -  2
    
    c  -  a
    c  -  a
    c  -  a
  5. 0
    function get_next_key_array($array,$key){
    $keys = array_keys($array);
    $position = array_search($key, $keys);
    if (isset($keys[$position + 1])) {
        $nextKey = $keys[$position + 1];
    }
    return $nextKey;

    //in funzione precedente primo argomento è la matrice nella quale tasto deve essere cercato e 2 ° argomento è di $chiave che viene utilizzata per ottenere il successivo tasto in modo da significa che è necessario una chiave esistente di array associativo da cui si desidera ottenere il successivo chiavi.

Lascia un commento