Multidimensionale Arrays

JesusFreak777

Erfahrenes Mitglied
Hallo,

ich möchte gerne eine Tabelle erzeugen aus der ich informationen lesen kann,...

gedacht ist das ganze für einen kalender:

es gibt einfach kalenderfelder die Farblich markiert sind,...

z.B.
num farbcode name
1 #ff0000 Feiertag
2 #00ff00 Geburtstag
3 #0000ff sonst
,....

ich hab mal mit nen multidimensionale Array angefangen,...
das schaut so aus,...

HTML:
array('1' => '#ff0000', '2' => '#00ff00', '3' => '#0000ff');

das funktioniert auch,...

aber wie kann ich jetzt (mit der wohl sinnvollsten lösung) die namen hinzufügen?
ein zweites array bekomm ich auch hin wo ich einfach die num nochmal reinhaue,... aber wenn das mal riesige tabellen werden (in diesen projekt wohl nicht) wird es unübersichtlich und es is ja nicht ganz sinn der sache,...

Dange

edit I:
so in etwa:
Array
(

[1] =>
[farbcode] => #ff0000
[name] => Feiertag
[2] =>
[farbcode] => #00ff00
[name] => Geburtstag
[3] =>
[farbcode] => #0000ff
[name] => sonst
)
geht sowas?

edit II:

oder was evtl noch einfacher wäre, wenn sowas geht,...

key
value[1]
value[2]

?
 
Zuletzt bearbeitet:
Was spricht hier gegen eine Lösung mit Datenbank?
mySQL, postgreSQL, ODBC, ...

Da kann man große Tabellen speichern, sortieren, aufrufen, ändern, etc.
 
gerade das wollte ich für meine farbcodes nicht,...

wenns net anders geht muss ich wohl,...
aber besser gefallen würde mit ein array,...

hab mir hals so ne schöne
confic.ini.php gebastelt und da kann ich so ziemlich alle einstellungen vornehmen. und ich hätt des da auch gerne drinnen,...

aba wenns net geht?
muss ich wohl
 
Bitte achte auf deine Rechtschreibung.


Klar geht es. Nur nicht so schnell wie mit Datenbanken ;)

Du musst überlegen, dass dieses Array mit jedem Aufruf von PHP in den Speicher geladen werden muss. Bei 100 Einträgen und 10 Besuchern füllen die Instanzen den Speicher eventuell mit 1000 Plätzen und irgendwann stößt man an die Grenzen.

Zusammen mit SQL gibt es bereits Anweisungen, die die Daten sortieren oder mit anderen Tabellen (deine Farben) verknüpft ausgeben ;)

Da spricht nichts gegen dein Vorhaben, außer du entwickelst etwas für sehr viele Leute die gleichzeitig Zugriff haben können.
 
Bitte achte auf deine Rechtschreibung.


Klar geht es. Nur nicht so schnell wie mit Datenbanken ;)

Du musst überlegen, dass dieses Array mit jedem Aufruf von PHP in den Speicher geladen werden muss. Bei 100 Einträgen und 10 Besuchern füllen die Instanzen den Speicher eventuell mit 1000 Plätzen und irgendwann stößt man an die Grenzen.

Zusammen mit SQL gibt es bereits Anweisungen, die die Daten sortieren oder mit anderen Tabellen (deine Farben) verknüpft ausgeben ;)

Da spricht nichts gegen dein Vorhaben, außer du entwickelst etwas für sehr viele Leute die gleichzeitig Zugriff haben können.

ne im Gegenteil, das ist eigentlich nur für mich und meine Family,... und weil mir Arrays so Spaß machen, will ich einfach in dem Bereich etwas mehr lernen,… über ein paar Tipps, Tutorials u.ä. würde ich mich sehr freuen.

Grüßle
 
Servus,

PHP:
$farben = array();

$farben[0][farbe] = "#ff0000";
$farben[0][name] = "Feiertag";
$farben[1][farbe] = "#00ff00";
$farben[1][name] = "keinFeiertag:P";
Möchtest das so aufbauen ?
 
Wieso ist das viel Text ?
Du steckst einfach die farbcodes in ein Array, die Namen in ein Array und lässt das ganze so durch eine for loop zusammenbauen.

edit:
Hier was zum basteln, ist schon mal ein guter Ansatz:
PHP:
$farbcodes = array('#FF0000', '#AA0000', '#500020', '#0000AA', '#0000FF', '#002050', '#00AA10', '#00FF00');
$feldnamen = array('Feiertag', 'Geburtstag', 'Urlaubstag', 'Reise', 'Ausflug', 'Termin');
$farben = array();
for($i = 0; $i < count($feldnamen); $i++)
{
	$farben[$i][farbcode] = $farcodes[$i];
	$farben[$i][feldname] = $feldnamen[$i];
}
 
Zuletzt bearbeitet:
Am sinnvollsten wäre es doch wenn du dein Array so aufbaust, oder?
PHP:
$farbcodes = array('#FF0000', '#AA0000', '#500020', '#0000AA', '#0000FF', '#002050', '#00AA10', '#00FF00');
$feldnamen = array('Feiertag', 'Geburtstag', 'Urlaubstag', 'Reise', 'Ausflug', 'Termin');
$farben = array();
for($i = 0; $i < count($feldnamen); $i++)
{
    $farben[$feldnamen[$i]] = $farcodes[$i];
}
Weiss ja nicht genau was du mit dem Array alles machen willst, aber für einen Kalender ist dieser Aufbau am besten schätze ich.
 
Zurück