Christian Kruse: wo steht wordchar-Definition im MySQL-Quelltext?

Beitrag lesen

Hallo Andreas,

define('MIN_WORD_LEN',2);
$Stopwords = Array(
  'wort1' => 1,
  'wort2' => 1
);

wieso weist Du den Elementen denselben Wert zu?

Weil ich nur einen true value brauche.

könnte man nicht einfach statt

if($Stopwords[strtolower($wrd)]) continue;
$Stopwords = Array(
  'wort1',
  'wort2'
);
[...]
if(in_array($Stopwords)) continue;

schreiben?

Wenn man bei jedem Lookup eine Suche starten will, kann man
das schon tun, ja.

Oder ist das nicht so gut?

Hash-Lookups sind wesentlich schneller als eine Suche, die
in diesem Fall nichtmal binaer sein kann. Ein Hash-Lookup
braucht nur die Berechnung einer Hash-Summe und dann das
Nachschauen in einer Tabelle. Eine gute Hash-Funktion braucht
nur 6xKeylaenge + 32 Zyklen, um die Hash-Summe auszurechnen.
Eine Suche muss fast immer langsamer sein.

# lets find the beginning of the next word
  for($begin=$pos;!is_wchar($input{$begin});++$begin);
das nicht mehr.

Nun, ich gehe in dem String solange vorwaerts, wie ich
Zeichen kriege, die *kein* Wort-Zeichen sind.

Vor alllem kenne ich nicht die syntax
$input{$begin}, was ist das? $input ist doch ein String,
vermutlich definierst Du ein Zeichen des Strings, aber wo
steht das im Manual?

Hier:
  http://www.php.net/manual/de/language.types.string.php

Verstehe ich, aber wird das denn irgendwann zur Pflicht?

Was meinst du?

Dann könnte ich manchmal nicht das schreiben/zitieren was
ich wollte,

Doch -- mach halt Zeilenumbrueche rein.

Gruesse,
 CK