Zurück   Flashforum > Flash und Server > PHP und MySQL

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 05-11-2010, 12:27   #1 (permalink)
·
 
Benutzerbild von pilzebub
 
Registriert seit: Oct 2003
Ort: ··
Beiträge: 722
array()+function

juhu,

ich möchte in einem array eine function ausführen und den wert holen. habe
es noch nicht probiert ob es funktioniert, da es nach ziemlichen gestotter
aussieht.

beispiel was ich vorhabe(abgewandelt von php.net):
PHP-Code:
$meinText "Hier mein Text";
$str = array("Text""...");
$newStr = array(meineFunction(), "...");

$neuerText str_replace($str$newStr$meinText);
... 
gibt es ein elegantere lösung, oder ist der ansatz einfach schon total falsch?

Geändert von pilzebub (05-11-2010 um 12:28 Uhr)
pilzebub ist gerade online   Mit Zitat antworten
Alt 05-11-2010, 13:14   #2 (permalink)
Inventar
 
Benutzerbild von Nightflyer
 
Registriert seit: Jul 2002
Beiträge: 6.882
Geht so sicher nicht da eine Funktion IN einem Array nichts zu suchen hat. Ich weiss nicht genau was du vor hast aber vielleicht hilft dir PHP: array_walk - Manual
__________________
(\__/)
(='.'=)
(")_(")
Nightflyer ist offline   Mit Zitat antworten
Alt 05-11-2010, 14:29   #3 (permalink)
·
 
Benutzerbild von pilzebub
 
Registriert seit: Oct 2003
Ort: ··
Beiträge: 722
bezogen auf mein Beispiel:

$str=mehrere Werte bzw. $variablen in einem Text(ich kenne jetzt nicht den richtigen ausdruck für)
$newStr=diese Werte werden anhand der funktion aus einer tabelle geholt

also so: array(meineFunction(id=1), meineFunction(id=2)...);
und zum schluss wird wert1($str) durch wert2($newStr) ersetzt.
pilzebub ist gerade online   Mit Zitat antworten
Alt 05-11-2010, 23:32   #4 (permalink)
Inventar
 
Benutzerbild von Nightflyer
 
Registriert seit: Jul 2002
Beiträge: 6.882
Sorry aber das ist viel zu wenig Konkret, da kann ich mir nix schlaues zusammenreimen. Gib mal ein Fallbeispiel wie deine Werte aussehen und wie sie zum Schluss aussehen sollen.
__________________
(\__/)
(='.'=)
(")_(")
Nightflyer ist offline   Mit Zitat antworten
Alt 06-11-2010, 12:48   #5 (permalink)
·
 
Benutzerbild von pilzebub
 
Registriert seit: Oct 2003
Ort: ··
Beiträge: 722
der text ist eigentlich nur ein template:

PHP-Code:
$meinText "Hallo <-anrede-> <-name->...";
$str = array("<-anrede->""<-name->");
$newStr = array(holeWertausTB(id), holeWertausTB(id));
$neuerText str_replace($str$newStr$meinText);
... 
pilzebub ist gerade online   Mit Zitat antworten
Alt 06-11-2010, 13:47   #6 (permalink)
exestiert hier nicht
 
Registriert seit: Jun 2002
Ort: Osnabrück
Beiträge: 1.728
Hallo, so wie du es im Moment machst würde es doch gehen, der Funktionsrückgabewert landet im Array und wird dann auch durch string replace ausgegeben.
__________________
<? if(!$success){ $try++; } ?>
~Es ist so grausam, dass der Intelligenz Grenzen gesetzt sind und der Dummheit keine.~

Werbung:
- Ajax File Manager ( KFM - Kae's File Manager )
Funkey ist offline   Mit Zitat antworten
Alt 06-11-2010, 15:38   #7 (permalink)
wuschelkopp
 
Registriert seit: Aug 2004
Beiträge: 1.468
genau, was immer auch "TB" heißt, solang das ding (holeWertausTB(id)) einen vernünftigen rückgabewert (in diesme fall string) hat, funktioniert es. wobei dort statt id dann wohl $id stehen sollte aber das weißt du wahrsch
__________________
listening to techno & minimal :>
firstlord18 ist offline   Mit Zitat antworten
Alt 06-11-2010, 16:34   #8 (permalink)
Keine Panik
 
Registriert seit: Apr 2010
Ort: Düsseldorf (im ernst)
Beiträge: 1.868
@pilzebub
das was du gerade suchst ist wohl das hier:
PHP-Code:
$newStr array_map('holeWertausTB'$str); 
finde ich aber eher einen ungünstigen Ansatz, da du da für jeden einzelnen Platzhalter einen eigenen DB-Request abschickst, und darauf wartest, bis die Antwort da ist, bevor es weitergeht.
30 Platzhalter -> 30 Requests

besser wäre sowas hier:
PHP-Code:
<?
function &replaceMarker($template$marker)
{
    
$marker =& array_unique($marker);
    
$marker =& array_map('mysql_real_escape_string'$marker);

    if(
count($marker) > 0){
        
$query "SELECT marker, replacement FROM tbl WHERE marker IN ('"join("', '", &$marker) ."')";
        
$result mysql_query($query);
        
        while(
$ds mysql_fetch_assoc($result)){
            
$template str_replace($ds->marker$ds->replacement$template);
        }
    }
    
    return &
$template;
}

$meinText "Hallo <-anrede-> <-name->..."
$str = array("<-anrede->""<-name->"); 

$neuerText replaceMarker($meinText$str);
...  
?>
erst alle marker sammeln, eine Anfrage an die DB absenden, und dann alles ersetzen.
türlich musst du den Code an deine Gegebenheiten anpassen.

@firstlord18 && @Funkey
so ein Array könnte unter Umständen eine dynamische länge haben !?
__________________
greetz Thomas

plz RTFM & Coding Conventions
thomas_E ist offline   Mit Zitat antworten
Alt 06-11-2010, 17:05   #9 (permalink)
exestiert hier nicht
 
Registriert seit: Jun 2002
Ort: Osnabrück
Beiträge: 1.728
Zitat:
Zitat von thomas_E Beitrag anzeigen
....
@firstlord18 && @Funkey
so ein Array könnte unter Umständen eine dynamische länge haben !?
Was hat das den mit der dynamischen Länge zu tun ?
__________________
<? if(!$success){ $try++; } ?>
~Es ist so grausam, dass der Intelligenz Grenzen gesetzt sind und der Dummheit keine.~

Werbung:
- Ajax File Manager ( KFM - Kae's File Manager )
Funkey ist offline   Mit Zitat antworten
Alt 06-11-2010, 19:24   #10 (permalink)
wuschelkopp
 
Registriert seit: Aug 2004
Beiträge: 1.468
Zitat:
Zitat von Funkey Beitrag anzeigen
Was hat das den mit der dynamischen Länge zu tun ?
dito, wo er die replaces herbekommt, is ja garnicht aus dem code ersichtlich..
__________________
listening to techno & minimal :>
firstlord18 ist offline   Mit Zitat antworten
Antwort

Lesezeichen

Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks sind an
Pingbacks sind an
Refbacks sind an


Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
function aus array? Shorse Flash Einsteiger 4 22-11-2007 14:15
function aus array aufrufen robo kalkühl Softwarearchitektur und Entwurfsmuster 6 22-07-2005 17:00
Array --> function() bob_mosquito Softwarearchitektur und Entwurfsmuster 12 08-03-2005 11:42
array function maikdyke ActionScript 1 2 16-10-2003 21:49
Array -> function -> XML -> function -> Array derRaab Flash und Datenbanken 0 06-02-2002 21:00


Alle Zeitangaben in WEZ +1. Es ist jetzt 14:07 Uhr.

Domains, Webhosting & Vserver von Host Europe
Unterstützt das Flashforum!
Adobe User Group


Copyright ©1999 – 2012 Marc Thiele