Variable ersetzen

Guten Morgen

ich habe den ungefähren kleinen php code.

$kopf ="erster Kopf"; $zeile ="<tr> <td colspan=\"11\" class=\"notenr\">".$kopf."</td> </tr>";

Diese Zeile verwende ich in mehren Tabellen in einer Datei.
Ich möchte jetzt das $kopf in jeder Tabelle einen anderen wert habe.

Bei der ersten Ausgabe echo $Zeile ; ist alles richtig.
Doch wenn ich als nächstes

$kopf ="zweiter Kopf";
	  echo $zeile;	

habe, bleibt $kopf beim ersten Wert.
Wie muss ich das machen?

<?php $kopf ="erster Kopf"; $zeile ="<tr><td colspan=\"11\" class=\"notenr\">".$kopf."</td></tr>"; echo $zeile; $kopf ="zweiter Kopf"; echo $zeile; ?>

so klappt das nicht

MfG
GuckstDu

Mache dir eine function echo_zeile mit einem parameter. Bei jeden Aufruf übergibtst du den aktuellen string.
…oder du speicherst deine “kopf-titel” in einem Array und gibst dies Alles in einer Schleife aus.

noch für dich als erklärung, dein code kann nicht funktionieren, denn wenn du einmal oben den kompletten string in die variable $zeile kopierst, wird auch $kopf einmal aufgelöst und mit in $zeile gespeichert.
der gesamtstring wird aber hardcoded nun im speicher abgelegt und ich ohne direktes ändern der varaible $zeile nicht mehr veränderbar

Hi,

so würds gehn … wie die anderen schon gesagt haben^^

lg

@comjag
danke für die Erklärung

@Ryon_
danke für das Beispiel

@pit Dir auch danke
mit Arrays kenne ich mich noch nicht so gut aus.

liebe Grüße

Das ist auch nicht besonders schwer und man kann sehr effektiv scripten:

<?php
error_reporting(E_ALL); //zum Testen sehr zu empfehlen
$arrkopf = array('erster Kopf','zweiter Kopf');
foreach($arrkopf as $kopf) {
	echo "<tr><td colspan=\"11\"  class=\"notenr\">".$kopf."</td></tr>";
}	
?>

Hallo Pit,

ich denke das mit der Funktion ist das was ich brauche, weil ich brauche ja diese Tabellenzeile in mehreren Tabellen an verschiedenen Stellen der Webseite.

MfG
Danke

Das ist ganz normal, weil du in $zeile ja schon den Wert $kopf als “erster Kopf” gespeichert hast.
Du müsstest es so machen wenn du keine function oder schleife dafür schreiben willst.

<?php
$kopf ="erster Kopf";
$zeile ="<tr><td colspan=\"11\"  class=\"notenr\">".$kopf."</td></tr>";       
        echo $zeile;
$kopf ="zweiter Kopf";
$zeile ="<tr><td colspan=\"11\"  class=\"notenr\">".$kopf."</td></tr>";
     echo $zeile;    
?>

Denn in dem Moment indem du $kopf in die $zeile schreibst, wird aus $kopf der bereits umgewandelte Wert “erster Kopf” gespeichert.

@LALILU
wurde das nicht schon geklärt/gesagt?

Jedenfalls würde ich von Anfang an für sowas keine Variablen nehmen^^
Insbesondere wenn es um die Ausgabe geht denn dann könnte man bei der Version mit Funktion bleiben um den Code zu verkürzen und jeden Text abschnitt via “echo” direkt ausgeben anstatt unnötig Speicher zu fressen.

[quote=“White-Tiger”]@LALILU
wurde das nicht schon geklärt/gesagt?[/quote]
@White-Tiger
Ich wollt halt auch noch mal meinen Senf dazugeben :wink:
Und ich steh auf Senf…

[quote=„LALILU“][quote=„White-Tiger“]@LALILU
wurde das nicht schon geklärt/gesagt?[/quote]
@White-Tiger
Ich wollt halt auch noch mal meinen Senf dazugeben :wink:
Und ich steh auf Senf…[/quote]Ich wollte es lassen aber du hast mich dazu gezwungen :ps: [size=85](immerhin lernen Menschen nach wie vor am besten bzw. am natürlichsten in dem diese selber sehen wies ist und es eben nicht vorgesagt bekommen^^)[/size]