Arrays

Hi bin grad dabei PHP zu lernen und hab da zwei Fragen zu Arrays:

Ist das so richtig (so hats zumindest funktioniert):

$user[id]=„45“

oder so (hats in Der „Beschreibung“ gestanden):

$user[„id“]=„45“

und wie ist das mit mehrdimensionalen arrays:

$user[45][„id“]=„45“

so wars beschrieben hat aber net funktioniert :frowning:

Hallo,

Die richtige Schreibweise ist die mit Anführungsstrichen oder zumindest mit einfachen Anführungsstrichen $user[‚id‘]. Hintergrund ist, dass der Schlüssel eines Array-Elements entweder eine Zahl oder ein string ist. Eine Zahl würde man natürlich ohne Anführungsstriche eingeben, ein string gehört aber in Anführungsstriche. In einem Schlüssel ohne Anführungsstrichen versucht php zunächst eine Konstante zu suchen; wenn es keine Konstante findet, dann wird es als fail-safe (ich glaube das lässt sich einstellen) als string interpretiert.

Weiteres hierzu hier:
http://de3.php.net/manual/de/language.types.array.ph…

Gruss, Omar Abo-Namous

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

So sieht der Quelltext aus:

$user[45][‚id‘]=„45“;
$user[45][‚name‘]=„irgendwer“;
$user[45][‚email‘]=„[email protected]“;

$user[46][‚id‘]=„46“;
$user[46][‚name‘]=„blaaa“;
$user[46][‚email‘]=„[email protected]“;

echo "Der User mit der Id $user[45][‚id‘] heißt $user[45][‚name‘] und seine Mail Adresse ist $user[45][‚email‘]
";
echo "Der User mit der Id $user[46][‚id‘] heißt $user[46][‚name‘] und seine Mail Adresse ist $user[46][‚email‘]
";

Und das kommt raus:

Der User mit der Id Array[‚id‘] heißt Array[‚name‘] und seine Mail Adresse ist Array[‚email‘]
Der User mit der Id Array[‚id‘] heißt Array[‚name‘] und seine Mail Adresse ist Array[‚email‘]

Und das sollte rauskommen:
Der User mit der Id 45 heißt irgendwer und seine Mail Adresse ist [email protected]
Der User mit der Id 46 heißt blaaa und seine Mail Adresse ist [email protected]

entweder formst Du das so um:

echo "Der User mit der Id „.$user[45][‚id‘].“ heißt „.$user[45][‚name‘].“ und seine Mail Adresse ist „.$user[45][‚email‘].“
";

oder so:
echo "Der User mit der Id $user[46][id] heißt $user[46][name] und seine Mail Adresse ist $user[46][email]
";

wenn Du ’ und " verwendest wird signalisiert, dass die eingeklammerten Bereiche nicht ersetzt werden sollen…
Die erste Version ist übrigens besser weil ordentlicher. Die zweite könnte glaub ich sogar fehlermeldungen verursachen