gudn tach!
$put_val = 34;
$in_front_of_val = 78;
$put_key = $array_search($put_val, $array);
$in_front_of_key = $array_search($in_front_of_val, $array);
if($in_front_of_key < $put_key){
for($i=$put_key; $i>$in_front_of_key; --$i)
$array[$i] = $array[$i-1];
$array[$in_front_of_key] = $put_val;
}elseif($in_front_of_key > $put_key){
for($i=$put_key; $i<$in_front_of_key; ++$i)
$array[$i] = $array[$i+1];
$array[$in_front_of_key-1] = $put_val;
}else{
echo 'witzbold!'."\n";
}
oder etwas kuerzer:
$put_val = 34;
$in_front_of_val = 78;
$put_key = $array_search($put_val, $array);
$in_front_of_key = $array_search($in_front_of_val, $array);
$step = ($in_front_of_key<$put_key)? -1 : 1;
for($i=$put_key; $i!=$in_front_of_key; $i+$step)
$array[$i] = $array[$i+$step];
$array[$in_front_of_key-($step==1)] = $put_val;
(ungetestet, aber die idee sollte anhand des ersten beispiels klar sein.)
prost
seth