seth_not@home: Array Sortier- und Manipulierproblem

Beitrag lesen

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