kostenloser Webspace werbefrei: lima-city


Strings deklarieren...

lima-cityForumProgrammiersprachenPHP, MySQL & .htaccess

  1. Autor dieses Themas

    m*********1

    Hi,

    ich habe ein Problem. Wenn dies Variablen leer sind ein Fehler ausgeben.
    Wenn ich es so mache bekomme ich ein Fehler, aber nur wenn Test in den Variablen drin steht sonst wenn sie leer sidn nicht.



    $sender[] = ' ';
    $subject[] = ' ';
    $time[] = ' ';

    Wie kann ich es sonst machen
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

  3. e**o

    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
  4. g*********b

    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



  5. 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'] = '';
  6. Autor dieses Themas

    m*********1

    das geht nicht bekomme immer noch so schei?e Fehlermeldungen...
  7. Autor dieses Themas

    m*********1

    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++) {?>
  8. g*********b

    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
  9. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

Dir gefällt dieses Thema?

Über lima-city

Login zum Webhosting ohne Werbung!