Strings deklarieren...
lima-city → Forum → Programmiersprachen → PHP, MySQL & .htaccess
ale
array
deklaration
elemente
fehler
fehlermeldung
genau zwei
graf
klarheit
mark
mechanismus
normale variable
receiver
result
schlssel
sender
unsaubere programmierung
ursache
variable
zuweisung
-
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
keine ahnung aber ich w?rde ein Array so definieren
$feld=Array("key"=>"value","");
oder
aber du kannst auch mit is_set (function) pr?fen die Variable schon declariert wurde.
in php kannst du variable auch einfach verwenden.
mfg
edvo -
Hi,
ich verstehe nicht so ganz, was mir diese Zeilen sagen sollen.
Sollte es sich um die Deklaration von Arrays handeln, dann nimm doch einfach die zugeh?rige Funktion:
$sender = Array();
$sender[], also leere eckige Klammern, wie Du es m?glicherweise von Java kennst, f?hren in PHP zu einem Fehler, da Arrays hier eigentlich Maps sind, die Schl?ssel auf Werte abbilden, und da ist ein eindeutiger Schl?ssel schon erforderlich, zumindest am Anfang...
Greetinx
WS
-
graf-schwab schrieb:
[...]
$sender[], also leere eckige Klammern, wie Du es m?glicherweise von Java kennst, f?hren in PHP zu einem Fehler, da Arrays hier eigentlich Maps sind, die Schl?ssel auf Werte abbilden, und da ist ein eindeutiger Schl?ssel schon erforderlich, zumindest am Anfang...
Greetinx
WS
?hm - ich glaube, dass das falsch ist!
Bei mir funktioniert es jedenfalls so :
$array = array (); $array[] = ''; $array[] = '';
Wobei hingegen folgendes einen Fehler erzeugt :
$array[] = ''; $array[] = '';
Aber dieses wiederrum nicht :
$array['key'] = ''; $array['key2'] = '';
-
das geht nicht bekomme immer noch so schei?e Fehlermeldungen...
-
hier mal den Script den ich meine die Fehlermeldung bekomme ich:
Notice: Undefined variable: subject in D:\apachefriends\xampp\htdocs\lima\mark\show_list.php on line 69
und hier der code:
<?php error_reporting(E_ALL); include ('verbindung.php'); $sql = "SELECT * FROM pns WHERE receiver = '".$_SESSION['user_username']."' ORDER BY time DESC"; $result = mysql_query($sql) or die(mysql_error().'<br />Query: '.$sql); while ($pns = mysql_fetch_array($result)) { $id_mail[] = $pns["id"]; $sender[] = $pns["sender"]; $subject[] = $pns["subject"]; $time[] = $pns["time"]; } for ($i = 0; $i < count($subject); $i++) {?>
-
ok,
ich versuch's noch einmal.
Die ganze Verwirrung hier hat genau zwei Ursachen:
Die 1.
PHP ist keien wirklich saubere, sprich konsequent typsichere Sprache und daraus folgt
2.
das ebenso unsaubere Programmierung bis zu einem bestimmten Grade von PHP geduldet und damit nat?rlich auch gef?rdert wird:
Schauen wir uns das Ganze doch einmal n?her an:
Grunds?tzlich lautet die Syntax f?r die Zuweisung von Elementen zu einem Array:
$arrayname[schluessel] = wert;
wobei ein Schl?ssel z.B. eine ganze Zahl ist.
Neben diesen Schl?sseln werden alle Elemente auch in der Reihenfolge des Zugangs quasi durchnumeriert.
Die Frage ist nun: was geschieht, wenn ich keinen Schl?sselwert angebe, also auch keine Zahl?
Im Falle, das $arrayname bereits als Array von PHP akzeptiert wurde, sprich intern wurde eine entsprechende Struktur angelegt, wird so etwas wie ein AUTOINCREMENT in Datenbanken angelegt, sprich, als Schl?ssel fungiert die n?chst h?here Schl?sselzahl.
In einer "Ordentlichen" Programmiersprache kriegt man so etwas mit einer Fehlermeldung um die Ohren gehauen.
In PHP f?hrt das nur dann zu einer Fehlermeldung, wenn $arrayname noch nicht ale Array erkannt wurde, sprich wie eine "normale" Variable gehandhabt wird, da darauf der oben geschilderte Mechanismus nicht angewendet wird und [] in Variablennamen (f?r nichtArrays!!!!) nicht zugelassen sind.
Jetzt sind vermutlich alle Klarheiten restlos beseitigt
WS -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage