phpbar.de logo

Mailinglisten-Archive

[php] array-pointer auf bestimmten key setzen

[php] array-pointer auf bestimmten key setzen

Markus Kiennen fastjack at gmx.de
Die Mai 11 20:57:16 CEST 2004


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