2-dimensionale array in php

meycom

Well-known member
14 Oktober 2008
79
1
Wer kann helfen ?
Ich brauche eine 2-dimensionale Array

also $wert[t$, $i]

Wie wird die deklariert ?
z.B. $wert = array()

wie weise ich dem dann den Inhalt zu ?
z.B. $wert[0,0] = "mist"

wie rufe ich eine Funktion mit den Arrays auf ?
z.B. $dummy = test(.....)

und wie übergebe ich die an eine Funktion ?
z.B. function test($wert, $ende_t, $ende_i) {

wie lese ich die Array aus ?
z.B. $wert_neu = $wert[$t, $i]

Mein Buch ist Scheiße, und was im Web steht kapiere ich nicht.
Ich kenne sowas aus der Programmierung von VisalBasic da ist das ganz einfach.
Ich weiß - ih bin doof
also bitte keine defamierenden Äußerungen.... 8)

trotzdem würde ich mic freun wenn es Jemanden gibt der mir das ganz einfach erklären könnte.
 
also $wert[t$, $i]
Code:
$wert[$t][$i]


Wie wird die deklariert ?
z.B. $wert = array()
Code:
$wert = array();
$wert[0] = array();


wie weise ich dem dann den Inhalt zu ?
z.B. $wert[0,0] = "mist"
Code:
$wert[0][0] = "mist"


wie rufe ich eine Funktion mit den Arrays auf ?
z.B. $dummy = test(.....)
Code:
$dummy = test($wert)


und wie übergebe ich die an eine Funktion ?
z.B. function test($wert, $ende_t, $ende_i) {
jup, das ist ein Ansatz, ich weiß zwar nicht was die Ende-Variablen sein sollen, sieht aber net schlecht aus.


wie lese ich die Array aus ?
z.B. $wert_neu = $wert[$t, $i]
Code:
$wert_neu = $wert[$t][$i]


trotzdem würde ich mic freun wenn es Jemanden gibt der mir das ganz einfach erklären könnte.
ein mehr-dimensionales Array ist in PHP einfach nur ein Array, in das du noch ein array reinsteckst, eine Definition, die man angeben muss, damit ein Array mehrdimensional ist, existiert in PHP nicht, auf Grund der losen Typisierung.
 
neues Problem : function mit array

Das hat prima geklappt - Danke

Aber ---- jetzt hab ich ein neues Problem
Ich habe jetzt die Array $wert[$i][$t]
in einer Menüzeile zeige ich die Werte von $i an. Also z.B. 1 | 2 | 3 |....

Klicke ich jetzt z.B. auf die 2 soll eine Function aufgerufen werden die die Elemente von $wert[2][1.....] anzeigt.

Wie rufe ich die Function auf ?
geht das überhaupt ?
 
Zuletzt bearbeitet:
Klicke ich jetzt z.B. auf die 2 soll eine Function aufgerufen werden die die Elemente von $wert[2][1.....] anzeigt.

Wenn ich dich jetzt richtig verstehe, willst du alle Werte von $wert[2] ausgeben? :think:

Geht so:
PHP:
foreach ($wert[2] as $key=>$value) {
     echo 'Im Index '.$key.' steht: '.$value.'<br>';
}
Aufrufen könntest du das z.B. über eine Verlinkung wie GET-Parameter o.ä.

z.B.:
PHP:
if (in_array($_GET['index'], array('0', '1', '2' ... $zugelassene_elemente))) {
     foreach ($wert[$_GET['index']] as $key=>$value) {
         echo 'Im Index '.$key.' steht: '.$value.'<br>';
     }
}
Der Link müsste dann z.B. auf "?index=2" verweisen

Soll jetzt aber nur als Beispiel dienen;)
 
Zuletzt bearbeitet:
Soll jetzt aber nur als Beispiel dienen;)
Böse. Bitte keinen solchen Beispiele machen, nicht dass die noch einer abkopiert.

Niemals Eingabe des Benutzer ungeprüft im Script verwenden!
In diesem Fall mag das vielleicht nicht tragisch sein, aber es ist nicht toll, wenn solche "Beispiele" im Forum stehen.
 
Böse. Bitte keinen solchen Beispiele machen, nicht dass die noch einer abkopiert.

Niemals Eingabe des Benutzer ungeprüft im Script verwenden!

So besser?:biggrin:

Auf index == '2' wollt ich jetzt auch nicht so unbedingt prüfen, ist auch nicht besser:ugly: (Okay, vl. von der Eingabeprüfung her, aber machen kann man dann damit nix mehr:mrgreen:)
 
Nein - die Funktion wo das angezeigt wird habe ich und funzt auch.
ich meine wie ich die per mausklick aufrufen kann.

Der Aufruf der Funktion sieht so aus:
gallerie ($anz, $id, $reihe, $bild_url, $galerie, $fsk16, 5);
ganz hinten steht die '5'.
Ich zeige ein Menü wie folgt an: 1 | 2 | 3 | 4 | 5

Wenn ich jetzt auf die '2' klicke brauche ich einen Link der dann die Funktion mit der '2' aufruft.

zB.
gallerie ($anz, $id, $reihe, $bild_url, $galerie, $fsk16, $wert);

wobei in $wert jetzt die '2' steht.

aber wie rufe ich das auf ???
<a href=".......</a> geht ja nicht - das ist ja nur ne Function kein anderes Pogramm
 
nicht böse sein - ich versteh' nur Bahnhof (...und Koffer klau'n)

kann ich eine funktion per href=.... aufrufen ??? Wenn ja - wie sieht dann die Syntax von der Befehlszeile aus ?
 
function per mausklick auswählen

Das ist eigentlich garkein Problem für die Array's. Das ist ein grundsätzliches Problem: Wie rufe ich eine Function auf, wobei die Parameter für die Function abhängig vom geklickten 'Menüpunkt' sind.
 
kann ich eine funktion per href=.... aufrufen ??? Wenn ja - wie sieht dann die Syntax von der Befehlszeile aus ?

Wenn die Funktion in JavaScript geschrieben ist, ja, aber hast du ja nicht, vermute ich mal.

Du rufst per Link dein eigenes Script, mit einem zusätzlichen Parameter auf, Erklärung hier.

Nun kannst du den Parameter mit deinem Script abfragen, eben mit einem Zugriff auf das $_GET-Array.

EDIT: Okay, jetzt verwirrst du mich... Hast du eine JavaScript-Funktion oder PHP-Funktion? :think:
 
dieses $_GET['$wert'] benutze ich wenn ich ein neues Programm aufrufe - das kenne ich.
Aber wenn ich innerhalb eines Programmes (Script) eine Funktion aufrufen will - wie geht das ?

Beispiel

function anzeigen($i, $j) {
echo $i." ".$j
}
.
.
.

// funktion normal aufrufen
anzeigen('1', '2')

// anzeigen des Menüs
for ($a = 1; $a <=10; $a++) }
echo "<a href='Aufruf der Funktion'>$a</a>"." | ";
}
// jetzt wähle ich per Menü einen Wert für $a aus
// ich klicke jetzt auf die z.B. 2

// dann könnte ich folgendes aufrufen
anzeigen($a, '2')
 
Wie gesagt: GET-Parameter.

PHP ist keine clientseitige Sprache, also musst du die Site immer Reloaden, wenn du eine neue Aktion ausführen willst.

PHP:
if (in_array($_GET['wert'], array('1', '2'...))) {
    anzeigen($_GET['wert']); // Keine Ahnung wozu du 2, 2 übergeben willst
}