dedlfix: XML in for-Schleife ausgeben

Beitrag lesen

echo $begrüßung;

ich lese mit PHP  eine XML Datei in eine Tabelle aus:

Die Tabelle ist für dein Problem irrelevant.

[gekürzt]

$xml = simplexml_load_file($filename);
echo $xml->Messung->Ch1;
echo $xml->Messung->Ch2;
Nun folgen noch sehr viele "Ch"s und es bietet sich eine for-Schleife an:

Eigentlich bietet es sich an, die XML-Datei zu optimieren und gleiche Dinge gleich zu benennen. Beispielsweise so:

<Messung>  
  <Ch nr="1">...</Ch>  
  <Ch nr="2">...</Ch>  
</Messung>

Dann kannst du einfacher darauf zugreifen und musst nicht mit variablen Variablen rumhantieren:

for ($i = 0; $i < $anzahl; $i++) {  
  echo "CH$i:";  
  echo $xml->Messung->{"Ch$i"};  
}

echo $xml->Messung->Ch.$i ;
Leider konkaterniere ich die Variablen nicht richtig, [...]

Doch, genau das machst du. Stattdessen möchtest du aber den Variablen_namen_ zusammensetzen.

<? echo $xml->Messung->Ch2 ?>

Die Kurzform <? zusammen mit echo lässt sich als <?= notieren. Die Kurzform zu verwenden ist jedoch problematisch, weil die nicht überall eingeschaltet ist. Sie kollidiert beispielsweise mit dem XML-Start <?xml, was ein Grund für die Abschaltung von short_open_tag ist.

echo "$verabschiedung $name";