| 

.NET C# Java Javascript Exception

4
Ich habe ein array

array('12345','convert_to_float','find_user');


Ich möchte es in einer Kette von Funktionen "konvertieren", auf folgende Weise. Wo der Parameter der Element[0] im array ist

find_user(conver_to_float(12345));


USW....mein array kann auch N-Elemente haben, also N-1-Funktionen die auf den ersten Element im array durchgeführt werden müssen...wie mache ich das?
17.01.2012
confidence 53 5
4 Antworten
1
Suchst du eine Schleife?

$arr = array(1, 5, 6);
foreach($arr as $value)
{
find_user(floatval($value));
}


auch mit Rückgabewert(dieser wird im ursprünglichen Array gespeichert):

$arr = array(1, 5, 6);
foreach($arr as $key => $value)
{
$arr[$key] = find_user(floatval($value));
}
17.01.2012
LiRo 1,3k 1 9
1
Ich habe die Lösung gefunden, ich hoffe es hilft weiter

$mystring =  '12345.find_user.find_last_name';

convert_string_to_functions($mystring);

function convert_string_to_functions($mystring){
$functions = explode('.', $mystring);
$arg = array_shift($functions);
foreach($functions as $function){
if(function_exists($function)){
$arg = $function($arg);
} else {
echo 'Function '.$function.' Not found';
}
}

echo $arg;
}

function find_last_name($mystring=''){

return $mystring.' i am function find_last_name';

}

function find_user($mystring=''){

return $mystring.' i am function find_user';

}
17.01.2012
confidence 53 5
war auch im Moment dabei so was zu schreiben.
LiRo 17.01.2012
0
Danke, nein ist ein Bisschen komplizierter....gut ich gehe mehr ins Detail:

Ich habe einen String, sagen Wir
12345.convert_to_float.find_user


Wie konvertiere ich diesen String zu einer Reihe/Kette von Funktionen . Also alles wird durch den Punkt "." getrennt:

find_user(conver_to_float(12345));



Es geht mir nicht um die Funktion:float, aber um die Konvertierung des Ganzen zu Funktionen-Aufruf.
17.01.2012
confidence 53 5
find_user($blabla) ist doch ein Funktionsaufruf.
LiRo 17.01.2012
Und schreibe -auch du- -bitte- Kommentare als Kommentare.
LiRo 17.01.2012
Und was genau meinst du mit dem Punkt? 123456.0->find_user macht doch keinen Sinn (sofern du von Klassen/Objekten ausgehst). Weil ein float kein Objekt ist!
LiRo 17.01.2012
Ok, richtig lesen hilft...
Wofür brauchst du das genau? Vielleicht gibt's besser Vorgehensweisen für dein Vorhaben.
LiRo 17.01.2012
0
Es ist kompliziert. Aber kurz gesagt, ich möchte Felder aus einer PDF (fdf-Datei) rauslesen, und mit Werte befüllen. Diese Felder sind so kosntruiert (feldnamen.funktion1.funktion2)
17.01.2012
confidence 53 5
1
Aso, sofern diese Struktur so bestehen bleibt und nicht mehr verändert wird ist es (denke ich) die beste Lösung. brauchst du aber später mehr Flexibilität würde ich auf z.B. eine JavaScript-Engine bauen oder direkt PHP-Code ausführen.

PS: Kommentare als Kommentare und nicht als Antworten posten!
LiRo 17.01.2012

Stelle deine Php-Frage jetzt!