Suche - (search.class.php)

new search() - Object

$array haystack = array()
$array haystackList = array()
$array list = array()
gibt ein Array zurück, mit dem kompletten Wörterbuch welches durchsucht wird
$array key = array()
$array keys = array()
gibt ein Array zurück, mit allen Schlüsselwörtern des Wörterbuchs
$array value = array()
$array values = array()
gibt ein Array zurück, mit allen Werten der Schlüsselwörter
$array match = null gibt ein Array zurück, welches das Ergebnis des Suchwortes zurückgibt [SCHLÜSSELWORT, WERT, PROZENT]
$string needle = '' Suchwort als String, welches gelesen und geändert werden kann
__construct ([$string $numeric $array $haystack = false[, $string $needle = false]])
$haystack optional; übergibt das Wörterbuch mit Schlüsselwörtern und die dazugehörigen Werten; als $array: [SCHLÜSSELWORT => WERT, SCHLÜSSELWORT => WERT, ...] oder [SCHLÜSSELWORT, SCHLÜSSELWORT, ...]; als $string: SCHLÜSSELWORT
$needle optional; gibt das Suchwort als $string an
gibt nur true zurück
$search = new search(['Hase', 'Fuchs', 'Igel']);
$search->getMatches('Igl'); // Ausgabe: [0 => ['Igel', null, 1200]]

$search = new search(['Hase' => 'HAS', 'Fuchs' => 'FUC', 'Igel' => 'IGL']);
$search->getMatches('Igl'); // Ausgabe: [0 => ['Igel', 'IGL', 1200]]

$search = new search(['Hase', 'Fuchs', 'Igel'], 'Igl');
$search->match; // Ausgabe: ['Igel', null, 1200]
__get ($string $name)
$name gibt den Namen der Objekteigenschaft an
gibt die Objekteigenschaft zurück wenn sie vorhanden ist; ansonsten wird null zurückgegeben und err::noVar() ausgeführt
$search = new search(['Hase', 'Fuchs', 'Igel']);

$search->list;
__set ($string $name, $mixed $value)
$name Name der Objekteigenschaft
$value Variable die gespeichert werden soll
gibt true zurück, wenn die Variable erfolgreich gespeichert wurde; ansonsten wird false zurückgegeben und err::noVar() ausgeführt
$search = new search(['Hase', 'Fuchs', 'Igel']);

$search->needle = 'Igl';
add ($string $numeric $array $haystack = false)
$haystack übergibt das Wörterbuch mit Schlüsselwörtern und die dazugehörigen Werten; als $array: [SCHLÜSSELWORT => WERT, SCHLÜSSELWORT => WERT, ...] oder [SCHLÜSSELWORT, SCHLÜSSELWORT, ...]; als $string: SCHLÜSSELWORT
gibt bei Erfolg true zurück; ansonsten wird false zurückgegeben
$search = new search();

$search->add(['Hase', 'Fuchs', 'Igel']);
addKey ($string $numeric $key[, $mixed $value = null])
$key Schlüsselwort, das zum Wörterbuch hinzugefügt werden soll
$value optional; die zum Schlüsselwort dazugehörige Variable
gibt bei Erfolg true zurück; ansonsten wird false zurückgegeben und err::log() ausgeführt
$search = new search();

$search->addKey('Hase', 'HAS');
key_exists ($string $numeric $key[, $case_sensitive = true])
$key gibt das Schlüsselwort an, das im Wörterbuch gesucht werden soll
$case_sensitive optional; bei true wird Groß- und Kleinschreibung beachtet
gibt true zurück, wenn das gesuchte Schlüsselwort im Wörterbuch enthalten ist; ansonsten wird false zurückgegeben
$search = new search(['Hase', 'Fuchs', 'Igel']);

$search->key_exists('Igel'); // Ausgabe: true
$search->key_exists('Huhn'); // Ausgabe: false
getMatches ($string $needle = ''[, $integer $stack = 5[, $integer $percent = 50]])
$needle gibt den Suchbegriff an, nach dem gesucht werden soll
$stack optional; gibt die maximale Anzahl der Suchergebnisse an
$percent optional; gibt die Genauigkeit der Suche in Prozent an
gibt die Suchergebnisse in einem $array zurück [0 => [SCHLÜSSELWORT, WERT, PROZENT], 1 => [SCHLÜSSELWORT, WERT, PROZENT], ...]; ansonsten wird null zurückgegeben und bei Fehler noch zusätzlich err::log(Status: 200)
$search = new search(['Hase', 'Fuchs', 'Igel']);

$search->getMatches('Igl');
getMatch ($string $needle = ''[, $integer $percent = 50])
$needle gibt den Suchbegriff an, nach dem gesucht werden soll
$percent optional; gibt die Genauigkeit der Suche in Prozent an
gibt nur das erste Suchergebniss in einem $array zurück [SCHLÜSSELWORT, WERT, PROZENT]; ansonsten wird null zurückgegeben und bei Fehler noch zusätzlich err::log(Status: 200)
$search = new search(['Hase', 'Fuchs', 'Igel']);

$search->getMatch('Igl');
getMatchKey ($string $needle = ''[, $integer $percent = 50])
$needle gibt den Suchbegriff an, nach dem gesucht werden soll
$percent optional; gibt die Genauigkeit der Suche in Prozent an
gibt nur das Schlüsselwort das ersten Suchergebniss in einem $string zurück SCHLÜSSELWORT; ansonsten wird null zurückgegeben und bei Fehler noch zusätzlich err::log(Status: 200)
$search = new search(['Hase', 'Fuchs', 'Igel']);

$search->getMatchKey('Igl'); // Ausgabe: 'Igel'
getMatchValue ($string $needle = ''[, $integer $percent = 50])
$needle gibt den Suchbegriff an, nach dem gesucht werden soll
$percent optional; gibt die Genauigkeit der Suche in Prozent an
gibt nur den Wert das ersten Suchergebnisses zurück WERT, dieser kann jeder Variablentyp sein; ansonsten wird null zurückgegeben und bei Fehler noch zusätzlich err::log(Status: 200)
$search = new search(['Hase', 'Fuchs', 'Igel']);

$search->getMatchValue('Igl'); // Ausgabe: null; da als Wert nichts angegeben wurde
getMatchPerc ($string $needle = ''[, $integer $percent = 50])
$needle gibt den Suchbegriff an, nach dem gesucht werden soll
$percent optional; gibt die Genauigkeit der Suche in Prozent an
gibt nur den Prozentsatz des ersten Suchergebnisses als $float zurück PROZENT; ansonsten wird null zurückgegeben und bei Fehler noch zusätzlich err::log(Status: 200)
$search = new search(['Hase', 'Fuchs', 'Igel']);

$search->getMatchPerc('Igl'); // Ausgabe: 1200

Überprüfung

static search::isSearch ($mixed $search = null)
$search gibt das new search() Objekt an
gibt true zurück wenn das übergebene Objekt Instanz von new search() ist; ansonsten wird false zurückgegeben
search::isSearch('BlaBlaBla'); // Ausgabe: false

search::isSearch(new search('BlaBlaBla')); // Ausgabe: true

einfache Suche

static search::simple ($string $needle = null, $array $haystack = null[, $integer $minPerc = 100[, $integer $maxCost = 0[, $bool $unique = false[, $bool $case_sensitive = false[, $integer $insertCost = 1[, $integer $replaceCost = 1[, $integer $deleteCost = 1]]]]]]])
$needle gibt das zu suchende Wort als string an
$haystack gibt die Suchliste in der gesucht werden soll als array an
$minPerc gibt den minimalen Prozentsatz an, der durch die Funktion similar_text() gefunden werden soll, als integer angegeben
$maxCost gibt den maximalen Kosten an, der durch die Funktion levenshtein() gefunden werden soll, als integer angegeben
$unique gibt mit true an, das nur ein einziges Ergebnis gültig ist; werden mehr Ergebnisse gefunden, wird die Suche ignoriert
$case_sensitive gibt mit true an, das Groß- und Kleinschreibung beachtet werden soll
$insertCost gibt die Kosten als integer an, die für die Funktion levenshtein() für das Einfügen von Zeichen entstehen soll
$replaceCost gibt die Kosten als integer an, die für die Funktion levenshtein() für das Ersetzen von Zeichen entstehen soll
$deleteCost gibt die Kosten als integer an, die für die Funktion levenshtein() für das Löschen von Zeichen entstehen soll
führt eine einfache Suche durch, bei der zuerst die search::similarText() Funktion durchgeführt wird, wenn kein Ergebnis gefunden wurde, wird search::levenshtein() Funktion ausgeführt, Rückgabe ist ein array [result => [0 => 'ERGEBNIS1', 1 => 'ERGEBNIS2'], perc => PERCENT || cost => COST]; ansonsten wird null zurückgegeben
search::simple ('aplications', array_keys(mime::getContentTypeList()), 90, 2, true); // Ausgabe: [result => [0 => application], perc => 90.909090]
static search::similarText ($string $needle = null, $array $haystack = null[, $integer $minPerc = 100[, $bool $unique = false[, $bool $case_sensitive = false]]])
$needle gibt das zu suchende Wort als string an
$haystack gibt die Suchliste in der gesucht werden soll als array an
$minPerc gibt den minimalen Prozentsatz an, der durch die Funktion similar_text() gefunden werden soll, als integer angegeben
$unique gibt mit true an, das nur ein einziges Ergebnis gültig ist; werden mehr Ergebnisse gefunden, wird die Suche ignoriert
$case_sensitive gibt mit true an, das Groß- und Kleinschreibung beachtet werden soll
führt eine einfache Suche mit der Funktion similar_text() durch, Rückgabe ist ein array [result => [0 => 'ERGEBNIS1', 1 => 'ERGEBNIS2'], perc => PERCENT]; ansonsten wird null zurückgegeben
search::similarText ('aplications', array_keys(mime::getContentTypeList()), 90); // Ausgabe: [result => [0 => application], perc => 90.909090]
static search::levenshtein ($string $needle = null, $array $haystack = null[, $integer $maxCost = 0[, $bool $unique = false[, $bool $case_sensitive = false[, $integer $insertCost = 1[, $integer $replaceCost = 1[, $integer $deleteCost = 1]]]]]])
$needle gibt das zu suchende Wort als string an
$haystack gibt die Suchliste in der gesucht werden soll als array an
$maxCost gibt den maximalen Kosten an, der durch die Funktion levenshtein() gefunden werden soll, als integer angegeben
$unique gibt mit true an, das nur ein einziges Ergebnis gültig ist; werden mehr Ergebnisse gefunden, wird die Suche ignoriert
$case_sensitive gibt mit true an, das Groß- und Kleinschreibung beachtet werden soll
$insertCost gibt die Kosten als integer an, die für die Funktion levenshtein() für das Einfügen von Zeichen entstehen soll
$replaceCost gibt die Kosten als integer an, die für die Funktion levenshtein() für das Ersetzen von Zeichen entstehen soll
$deleteCost gibt die Kosten als integer an, die für die Funktion levenshtein() für das Löschen von Zeichen entstehen soll
führt eine einfache Suche mit der Funktion levenshtein() durch, Rückgabe ist ein array [result => [0 => 'ERGEBNIS1', 1 => 'ERGEBNIS2'], cost => PERCENT]; ansonsten wird null zurückgegeben
search::levenshtein ('aplications', array_keys(mime::getContentTypeList()), 4, true); // Ausgabe: [result => [0 => application], cost => 2]