Mailinglisten-Archive |
Sebastian Mendel wrote: > > <code> > $array = array ( 1 => 'a', 5 => 'b', 150 => 'c', 3270 => 'd' ); > > array_set_pointer($array, 150); // so eine funktion gibt es aber nicht > > prev($array); > echo $key($array); // prints: 5 > </code> > Jetzt verstehe ich dich :). Ich bin irgendwie automatisch davon ausgegangen, wenn ich $array[150] mache, dass der zeiger da stehen bleibt. Denn eigentlich macht der intern ja nix anderes als das array durchzugehen. (machts aber natürlich nicht :() Alles was mir sonst noch einfiele wäre wesentlich unperformanter als du es jetzt machst. Oder eben so wie Oliver schon meinte: $lut = array_keys($array); $pos = array_search($array_key, $lut ); $prev = $lut[$pos-1]; $next = $lut[$pos+1]; echo $prev; // prints: 5 Markus
php::bar PHP Wiki - Listenarchive