Hi Leute,
ich hab hier ein recht merkwürdiges Verhalten.
Erstmal zu meinem Vorhaben. Ich möchte ein Suchfeld auswerten. Ein Teil der Auswertung besteht darin, dass ich mir Betriffe aus dem gesamten suchstring filtere und so nurnoch einzelnen Wörter bzw Zeichenketten übrig bleiben.
der betreffente code schaut wie folgt aus ( Ausschnitt )
Das Kuriosum ist, die erste Funktion array_filter() klapp ohne Beanstantung. Alle überschüssigen Whitespaces werden entfernt und das resultierende Array ist auch korrekt. Doch der 2. Versuch mit sqlPrepareArgList funktioniert nicht. Ich hab auch schon mit echo in der Funktion die Werte testweise ausgeben zu lassen. In der Funktion werden die Strings auch korrekt zusammengebaut nur eben nicht mehr an das Array $namen zurückgegeben sondern wieder so, wie sie zuvor aussahen.
Evtl hab ich auch die Funktion array_merge() falsch angewendet. Über kompetente Hilfe würde ich mich freuen.
SG
ich hab hier ein recht merkwürdiges Verhalten.
Erstmal zu meinem Vorhaben. Ich möchte ein Suchfeld auswerten. Ein Teil der Auswertung besteht darin, dass ich mir Betriffe aus dem gesamten suchstring filtere und so nurnoch einzelnen Wörter bzw Zeichenketten übrig bleiben.
der betreffente code schaut wie folgt aus ( Ausschnitt )
PHP-Code:
# String aus einer vorrangegangenen Aktion
$stmListe1 = "%Hallowelt%";
# Whitespaces entfernen und leere Arrayelemente löschen
function cutFreeArray( $var ){
return trim( $var ) != '';
}
function sqlPrepareArgList( $var ){
$str = '%' . $var . '%';
return $str;
}
$namen = explode( ' ' , $_POST['suche'] ); // in POST['suche'] steht z.b. "Maria Rose" drin ect
$namen = array_filter( $namen , "cutFreeArray" );
$namen = array_filter( $namen , "sqlPrepareArgList" );
$stmListe2 = $namen;
$curr = array_merge($stmListe1,$stmListe2);
var_dump( $curr );
Evtl hab ich auch die Funktion array_merge() falsch angewendet. Über kompetente Hilfe würde ich mich freuen.
SG

Muss wohl historisch bedingt sein. ^^
Kommentar