Ich versuche, eine Zeichenfolge aus einer rekursiven Funktion Echo:
echo "<li>", $node, recurse($arr), "</li>";
und
echo "<li>" . $node . recurse($arr) . "</li>";
Was bedeutet Komma in Echo-Anweisung?
function writeList($tree)
{
if($tree == null) return;
echo "<ul>";
foreach($tree as $node=>$children) {
echo "<li>", $node, writeList($children) , "</li>";
}
echo "</ul>";
}
$tree
ist eine baumartige Struktur, wie in this question (form2)
Und ich kann feststellen, dass die Ausgabe der beiden unterschiedlich ist.
Kann mir jemand den Unterschied bei der Verwendung von ,
und .
im Allgemeinen und insbesondere in diesem Beispiel sagen?
BEARBEITEN: Was, wenn statt die Strings Echo, ich möchte die Zeichenfolge aus dieser Funktion in einer Variablen gespeichert werden. Ich bin besonders interessiert an der Ausgabe, die von der ersten echo
-Anweisung erhalten wurde.
EDIT: Ich Einspeisen dieses Array:
array
3 =>
array
4 =>
array
7 => null
8 =>
array
9 => null
5 => null
6 => null
Die Ausgänge Ich erhalte wird:
(von erster Echo-Anweisung)
<ul><li>3<ul><li>4<ul><li>7</li><li>8<ul><li>9</li></ul></li></ul></li><li>5</li></ul></li><li>6</li></ul>
(von zweiten Echo statement)
<ul><ul><ul><li>7</li><ul><li>9</li></ul><li>8</li></ul><li>4</li><li>5</li></ul><li>3</li><li>6</li></ul>
Wie können sie sich unterscheiden? Alles würde wie eine Zeichenkette behandelt werden, bevor es wieder ausgegeben wird ... – BoltClock
Ich habe die Funktion, die ich verwende, das Eingangsarray und das Outpur für zwei Fälle bereitgestellt. Sag mir einfach, es ist kein Fehler auf meiner Seite und eher ein konzeptionelles Problem. :) – Stoic