Willkommen auf dem Portal für Mediengestalter
|
|
Autor |
Nachricht |
Kielo
Threadersteller
Dabei seit: 31.07.2009
Ort: -
Alter: -
Geschlecht: -
|
Verfasst Fr 07.05.2010 19:11
Titel [php] return wird nicht ausgeführt |
|
|
Hallo zusammen
Ich bin demnächst am Verzweifeln, und zwar ob einer Funktion.
Folgendes:
Ich habe eine Funktion get_headnav(), in der ein sich je nach Kriterium ändernder Wert in eine Variable geschrieben soll.
Dazu habe ich eine switch/case Abfrage, die diese Variable abfüllt (der Wert dadrin wird als Margin verwendet).
Danach wird mit einem return eine ganze Zeile <div> ausgegeben, mit diesem Margin.
Soweit, so gut (oder auch nicht).
Das Problem: Das return wird nicht ausgeführt.
Ich habe zu Testzwecken die Funktion auf ein return "test"; beschränkt, was NICHT geht.
Ich habe diesen String "test" ein eine Variable $return ausgegeben, was AUCH nicht funktioniert.
Und hier ist mir das Rätsel.
Wenn ich's mit echo mache, geht es zwar, es verschiebt mir jedoch alles - ausserdem habe ich dann immer noch das Problem, dass eine bestimmte Variable ($this->web->category_id) nicht so recht angezeigt wird (die Funktion get_headnav() ist in der Klasse class.web.php, ebenso die get_navigation(); in zweiterer funktionieren return und die Ausgabe der genannten Variable wunderbar...)
Kann mir vll. irgendwer helfen? Ich weiss echt nicht mehr weiter. Hab die Funktion schon verschoben, so zB direkt in's index file, und direkt aufgerufen, geht auch nicht.
Hier noch code..
html-template
Code: |
<div id="navigation">
__HEADNAV__
</div> <!-- #navigation -->
|
index.php file
Code: |
$attributes = array('[hier wäre noch mehr zeug]','__HEADNAV__');
$replace_with = array('[hier wäre noch mehr zeug]',$web->navigation->get_headnav());
$template = file_get_contents($web->settings->get_settings('global_absolute_path')."/templates/".$template_name."/index.htm"); //geht
$html_temp = str_replace($attributes, $replace_with, $template); //geht auch
|
class.navigation.php
Code: |
function get_navigation($param = 0, $sort = '') {
return $this->web->category_id; // geht
[...tbc etc....]
}
function get_headnav(){
echo "test"; // geht
return "test"; // geht nicht
}
|
Wäre wirklich ganz, ganz froh, wenn ich das irgendwie gerallt kriege.
lG
|
|
|
|
|
michael2105
Dabei seit: 26.04.2010
Ort: Köln
Alter: 47
Geschlecht:
|
Verfasst Sa 08.05.2010 18:38
Titel
|
|
|
Code: |
$foo = bar();
function bar() {
$test = "xxx";
return $test;
}
echo $foo;
| [/code]
Gruß
Michael
|
|
|
|
|
Anzeige
|
|
|
Kielo
Threadersteller
Dabei seit: 31.07.2009
Ort: -
Alter: -
Geschlecht: -
|
Verfasst So 09.05.2010 09:11
Titel
|
|
|
Hey
Danke für die AW.
Leider geht das auch nur bedingt, weil ich ein Template habe, das mit Platzhaltern arbeitet; Diese werden dann über das index.php file mit einem Array ersetzt und (hier weiss ich nicht genau, wie) so an ihren jeweiligen Stellen in's Template gesetzt.
Ich müsste also das Echo in das Array einbinden, damit es am richtigen Ort ausgeführt wird.
Und das geht doch gar nicht... oder?
lG
|
|
|
|
|
michael2105
Dabei seit: 26.04.2010
Ort: Köln
Alter: 47
Geschlecht:
|
Verfasst So 09.05.2010 10:29
Titel
|
|
|
Du kannst kein echo in ein array setzen, aber du kannst das, was du mit echo ausgeben würdest in das array "pushen" :
Code: |
function gib_array_zurueck() {
$ar1 = array();
$string1 = "1234";
array_push( $ar1 , $string1);
$ar2 = array();
$string2 = "5678";
array_push( $ar2 , $string2);
return array( $ar1 , $ar2);
}
$template_array = gib_array_zurueck();
echo $template_array[0][0]; // ergibt 1234
echo $template_array[1][0]; // ergibt 5678 |
Ich hoffe das hilft weiter
Viele Grüße
Michael-jonas.com
Zuletzt bearbeitet von michael2105 am So 09.05.2010 10:31, insgesamt 1-mal bearbeitet
|
|
|
|
|
|
|
|
Ähnliche Themen |
XML - Return im Code
2 funktionen onSubmit mit return
PHP->return statt klicken im Formular
[PHP] function return, fehler [solved]
Erledigt! [PHP]Return stoppt Script
[FlashMX 2004] return-Anweisung verstanden?
|
|
|
Du kannst keine Beiträge in dieses Forum schreiben. Du kannst auf Beiträge in diesem Forum nicht antworten. Du kannst an Umfragen in diesem Forum nicht mitmachen.
|
|