Mehrdimensionale Array auslesen – SELFHTML-Forum Forum als Ergänzung zum SELFHTML-Wiki und zur Dokumentation SELFHTML https://forum.selfhtml.org/self Mehrdimensionale Array auslesen Thu, 25 Nov 04 21:30:59 Z https://forum.selfhtml.org/self/2004/nov/25/mehrdimensionale-array-auslesen/720743#m720743 https://forum.selfhtml.org/self/2004/nov/25/mehrdimensionale-array-auslesen/720743#m720743 <p>Servus,</p> <p>ich möchte folgendes Array auslesen:</p> <p>$Kategorie = array(array(name => "messages",title => "Beiträge"),<br> array(name => "stat",title => "Statistiken"),<br> array(name => "accounts",title => "Mein Account"));</p> <p>Ich jeweils paarweise die Werte für die Schlüssel name und title haben. Mit foreach, wenn ich mich nicht irre. Aber irgendwie komme ich mit dem Beispielen, die ich dazu finde, nicht zurecht. Einen passenden Link wäre ich auch nicht abgeneigt.</p> <p>Herzlichen Dank!<br> Randolf</p> Mehrdimensionale Array auslesen Thu, 25 Nov 04 21:38:21 Z https://forum.selfhtml.org/self/2004/nov/25/mehrdimensionale-array-auslesen/720745#m720745 https://forum.selfhtml.org/self/2004/nov/25/mehrdimensionale-array-auslesen/720745#m720745 <p>Hallo Randolf!</p> <blockquote> <p>$Kategorie = array(array(name => "messages",title => "Beiträge"),<br> array(name => "stat",title => "Statistiken"),<br> array(name => "accounts",title => "Mein Account"));</p> <p>Ich jeweils paarweise die Werte für die Schlüssel name und title haben. Mit foreach, wenn ich mich nicht irre.</p> </blockquote> <p>Da irrst Du nicht.<br> Probiers mal mit folgendem, vielleicht klappts ja dann:<br> echo('<ul>');<br> foreach ($Kategorie as $key => $value) {<br>     echo('<li>Name: '.$value['name'].'<br />Title: '.$value['title'].'</li>');<br> }<br> echo('</ul>');</p> <p>Das sollte eigentlich 3 Listenpunkte mit den Kategorien ausgeben.</p> <p>MfG<br> Götz</p> <div class="signature">-- <br> Losung für Donnerstag, 25. November 2004<br> Herr, du bist doch unser Vater! Wir sind Ton, du bist unser Töpfer, und wir alle sind deiner Hände Werk. (Jesaja 64,7)<br> Dein Wille geschehe wie im Himmel so auf Erden. (Matthäus 6,10)<br> (<a href="http://www.losungen.de/heute.php3" rel="nofollow noopener noreferrer">Losungslink</a>) </div> Ein Bisschen 'Anfängerlatein' zu Arrays Fri, 26 Nov 04 07:52:27 Z https://forum.selfhtml.org/self/2004/nov/25/mehrdimensionale-array-auslesen/720744#m720744 https://forum.selfhtml.org/self/2004/nov/25/mehrdimensionale-array-auslesen/720744#m720744 <p>Hello,</p> <p>nur so als Anregung:<br> Du kannst das Array auch als Spaltenarray aufbauen, was dann allerdings speziell von Dir geschriebene  Funktionen für (Select,) Insert, Update, Delete von "Datensätzen" erfordert, aber es ermöglicht, nach jeder Spalte zu sortieren _und_ diese Sortierungen gleichzeitig aufrecht zu erhalten.</p> <p>$_kategorie = array();<br> $_kategorie['name'][1] = 'messages';<br> $_kategorie['title'][1] = 'Beiträge';</p> <p>$_kategorie['name'][2] = 'stat';<br> $_kategorie['title'][2] = 'Statistiken';</p> <p>$_kategorie['name'][3] = 'accounts';<br> $_kategorie['title'][3] = 'Mein Account';</p> <p>Und wenn Du jetzt</p> <p>asort($_kategorie['name']);<br>   asort($_kategorie['title']);</p> <p>durchführst, dann sind beide Spalten sortiert, die Schlüssel-Value-Beziehungen bleiben aber erhalten.</p> <p>Du kannst dann mit</p> <p>foreach($_kategorie[$sortspalte] as $key => $val)<br>   {<br>     echo "<p>{$_kategorie['name']['key']} =&gt; {$_kategorie['title']['key']}</p>";<br>   }</p> <p>das Array ausgeben.</p> <p>Hier wurde schon mel die Frage gestellt, wieso ich nicht</p> <p>foreach($_kategorie[$sortspalte] as $key => $val)<br>   {<br>     echo "<p>$val =&gt; {$_kategorie['title']['key']}</p>";<br>   }</p> <p>schreiben würde. Antwort: es handelt sich um ein Besipiel, das eine universell nutzbare Funktion andeuten soll, und keinen proprietären Code für nur einen Anwendungsfall.</p> <p>Der Aufbau als Spaltenarray ,hat Vorteile für die Sortierung, die Suche, und den Speicherbedarf.<br> Insbesondere beim geringeren Speicherbedarf macht sich das bei langen Spaltennamen durch die entfernte Redundanz ganz stark bemerkbar.</p> <p>Die Funktionen für Select, Insert, Update und Delete lassen sich als allgemeingültige Funktionen aufbauen, sodass sie nur in der Form</p> <p>$ok = delete($_array, $record_no);<br>  $ok = update($_array, $_record, $record_no);<br>  $ok = insert($_array, $_record[, $record_no]);</p> <p>auftreten müssen und für _alle_ Spaltendefinitionen universell einsetzbar sind.</p> <p>Je nachdem, wie es gewünscht wird, kann das Satzformat von $_array und $_record überprüft werden oder stillschweigend ergänzt/gekürzt werden, wenn ein Feld im Zeilenarray $_record fehlt oder zuviel ist, da ja die namen mit übergeben werden.</p> <p>Harzliche Grüße aus <a href="http://www.annerschbarrich.de" rel="nofollow noopener noreferrer">http://www.annerschbarrich.de</a></p> <p>Tom</p> <div class="signature">-- <br> Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen<br> Nur selber lernen macht schlau </div> Mehrdimensionale Array auslesen Thu, 25 Nov 04 21:50:18 Z https://forum.selfhtml.org/self/2004/nov/25/mehrdimensionale-array-auslesen/720746#m720746 https://forum.selfhtml.org/self/2004/nov/25/mehrdimensionale-array-auslesen/720746#m720746 <p>Hallo Götz,</p> <p>vielen Dank für deine Antwort. Ist genau das, was mir vorschwebte. Erscheint auch irgendwie logisch - wenn man es einmal gezeigt bekommt:-)</p> <p>Tschau<br> Randolf</p>