phpbar.de logo

Mailinglisten-Archive

[php] Array schnell durchsuchen

[php] Array schnell durchsuchen

Christian Kruse ckruse_(at)_freenet.de
Fri, 24 Nov 2000 12:33:41 +0000


Hi Ron,

> Was muß ich mit dem Array machen, damit ich ggf schneller darin
> etwas finde?
Sortiere den Array nach dem zweiten Index; dann kannst du das Ding mit
Quicksearch durchsuchen:

$found = "false";
function qsearch($array,$element,$left,$right,$instance = 0)
 {
 global $found;
 middle = (int)(($left + $right) / 2);
 found = "false";

 // in this case, typeless variables aren't a feature....
 if($right - $left == 1 && $right != 1)
  { middle = $right; }

 if(($left != $right) && ($left < $right))
  {
  if($element > $array[$middle][1])
   { qsearch($array,$element,$middle,$right,1); }

  else
   {
   if($element < $array[$middle][1])
    { qsearch($array,$element,$left,$middle,1); }

   if($element == $array[$middle][1])
    { $found = $middle; }
   }
  }

 if($instance == 0)
  { return $found; }
 }

Funktionsaufruf so:

$x = qsearch($array,$suchbegriff,0,count($array)-1);

-- 
mfg,
 Christian                            mailto:ckruse_(at)_freenet.de
 wwwtech.de




php::bar PHP Wiki   -   Listenarchive