• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

Array oder Variable?

Status
Für weitere Antworten geschlossen.
D

DerMitSkill

Guest
Hallo,
den Inhalt von Arrays gibt man ja z.B. mit

PHP:
<?php
    echo($user['ich']);
?>
aus, was "DerMitSkill" ausgeben sollte.

Kann man das auch so definieren?

PHP:
<?php
    $user['ich'] = "DerMitSkill";
?>
Ich frage, weil ich ein CMS hier habe, wo in den Sprachdateien die Variablen (?) so aussehen:

PHP:
<?php
    $lang[edit_site] = "Seite bearbeiten";
    $lang[see_site] = "Seite aufrufen";
?>
Was sind das den nun? Arrays (also $lang das Array??) oder Variablen?
 
das sind natürlich arrays...

entweder sind das konstanten, glaube ich aber eher nicht denn bei arrays kann man... (sollte man aber nicht) die anführungszeichen zwischen [ und ] weglassen...

machs aber nicht ^^

Ps: besser als array text dateien ist PHP: gettext - Manual oder PHP: Gettext - Manual
 
Das hab ich mir auch schon gedacht, das da Anführungszeichen hinsollen :D

Aber ich habe in keinem Tutorial gefunden, das man so Arrays definieren kann...

PHP:
<?php
    $user['ich'] = "DerMitSkill";
?>
Ist das dann so in Ordnung, wenn ich die so definiere? Ist einfach einfacher und übersichtlicher statt so:

PHP:
<?php
    $user = array("ich"=>"DerMitSkill");
?>
 
also es gibt 2 ordentliche varianten arrays zu definieren ich zeige sie dir mal.

die erste ist

PHP:
$var   = array();
$var[] = 'bla';
$var[] = 123;
// ...

ist für anfänger wohl die beste variante aber ich bevorzuge diese variante

PHP:
$var = array(
    'wert mit key 0',
    'asd' => 'wert mit key asd',
    '2nd' => array(
        'nächste ebene',
        123
    ),
    'foobar'
);

ich finde sie persönlich übersichtlicher ^^
 
PHP:
<?php
    $lang[edit_site] = "Seite bearbeiten";
    $lang[see_site] = "Seite aufrufen";
?>
Was sind das den nun? Arrays (also $lang das Array??) oder Variablen?


müsste aber so lauten:


PHP:
<?php
    $lang['edit_site'] = "Seite bearbeiten";
    $lang['see_site'] = "Seite aufrufen";
?>
es sei denn, du definierst mit define die konstanten
edit_site und see_site.

packst du das ganze in eine tabelle oder datei (z.b. de.php) geht es auch so, sonst solltest du noch den language parameter in dein array mit aufnehmen:

PHP:
<?php
    $lang['de']['edit_site'] = "Seite bearbeiten";
    $lang['en']['edit_site'] = "Edit Site";

    $lang['de']['see_site'] = "Seite aufrufen";
     $lang['en']['see_site'] = "Call Site";
?>
dann kann man mit einer session switchen und die variablen entsprechend ausgeben:

PHP:
$_SESSION['language'] = "de";
echo $lang[$_SESSION['language']]['edit_site'];

$_SESSION['language'] = "en";
echo $lang[$_SESSION['language']]['edit_site'];
 
Zuletzt bearbeitet von einem Moderator:
Status
Für weitere Antworten geschlossen.
Zurück
Oben