Tom: PHP Varibalen aussem String mit echo anzeigen

Beitrag lesen

Hello,

Ah ich habe es nun verstanden aber wieso ich nun bei dem Funktionaufruf echo vorschreiben muß verstehe ich nicht wirklich das habe ich sonstso nie gemacht oder habe auch nicht gedacht das es gehen würde....

echo make_table_td($data);

... weil die Funktion eine Reisenvariable zusammenbaut mit allen Zeilenumbrüchen und Breaks und Tags und Werten und dann mittels der return-Anweisung als Funktionsergebnis zurückgibt. Du kannst das Ergebnis auch in eine andere Variable umstapeln und dann ausgeben:

$text = make_table_id($data);
echo $text";

Ich habe mir da gewisse Konventionen angewöhnt:

Funktionen, die direkt ausgeben fangen mit "put_" an
Funktionen, die einen HTML-String erzeugen, fangen mit "make_" an
Funktionen, die Werte ermitteln (z.B. aus DBs) fangen mit "get_" an
Funktionen, die Werte wegschreiben in DBs fangen mit "save_" an.

Das kann man natürlich so machen, wie man will. Aber es hat sich als äußerst praktisch erwiesen.

Also ist var_ansprechpartner = die Variable $var_ansprechpartner
und wenn ich das Array wieder auslese spreche ich var_ansprechpartner mit $var_ansprechpartner an? Richtig?

$data["var_ansprechpartner"] = $var_ansprechpartner;

Das stimmt soweit.

Also gehe davon aus das geht nur mit assoc... Array?

Das habe ich noch nie ausprobiert. Aber ich könnte mir vorstellen, dass extract() mit der Prefix-Option in der Lage ist, auch indizierte Arrays auszupacken

übrigens verpackt man mit compact() seine Variablen in ein Array.

Aber da Du ja in Zukunft gar keine "losen" Variablen mehr im Script anlegen wirst, mit Ausnahme von vielleicht Zählern ($i, $j, $k) und sowas... ;-)))
Da brauchst Du compact() gar nicht. Aber extract ist sehr praktisch, weil man sich damit (in Funktionen) viel Tipparbeit sparen kann. Schau Dir nochmal die Prefix-Option an.

Weißt Du eigentlich auch, dass man Arrays direk teinander zuweisen kann, dass Du auch Teilarrays eines größeren in kleine Arrays kopieren kannst durch Zuweisung, dass man Arrays auch addieren kann ->

$gesamt = $teil1 + $teil2;

Oder:

<?php   #### datenstrukturen.php ###

$person = array();
$adresse = array();
$namen = array();

$adresse["strasse"]="SelfHTML-Weg";
$adresse["ort"]="Internetzingen";

$namen["vorname"] = "Thomas";
$namen["nachname"] = "Fischer";

$person["adresse"] = $adresse;
$person["namen"] = $namen;

#Und das kann man sich dann zum debug bequem ausgeben:

echo "<pre>";
print_r($person);
echo "</pre>";

?>

Und wenn man nun seine Formulare in HTML geschickt aufbaut, geht fast alles automatisch:

<input type="text" name="data[vorname]" ....>
aber:
<input type="submit" name="btn[speichern]" ....>

Dann schau Dir mal nach dem Post (submit)

echo "<pre>";
print_r($_POST);
echo "</pre>";

an.
Alle zu speichernden Daten sind dann in
  $_POST["data"]["vorname"]
  $_POST["data"]["name"]
  ...

und die Buttons und Entscheidungen sind in ...["btn"]...
Die willst Du ja nicht abspeichern.
Radios und Checkboxen und Selects können in beiden Gruppen stehen, jenachdem, ob man damit Entscheidungen treffen will, oder die Auswahl abspeichern will.

Ich denke, das reicht für heute - oder?

Liebe Grüße aus http://www.braunschweig.de

Tom

--
Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen