Seite 1 von 4

fragen zu -> und =>

Verfasst: 02.01.2004 01:13
von Shadowman
es wäre toll was die operatoren? -> und => bewirken, ich habe mal in meinem schlauen buch nachgeschaut, aber sa steht leider nix. ich kann php nun schon seit einem jahr, habe auch schon ein forum programmiert, aber irgendwie habe ich das noch nie gebraucht.

und nochwas:

wo ist der unterschied zwischen bla['blub'] und bla [blub].
ich habe mal in nem script was getestet, da hat das mit den ' nicht gefunzt, aber ohne ging es wieder:

Code: Alles auswählen

$tabellenname="main_filebase";
for($i=1;$i<11;$i++)
{
$sql="SELECT * FROM $tabellenname WHERE KategorieID='$i'";
$query[$i]=mysql_query($sql,$link);
$anzahl[$i] = mysql_num_rows($query[$i]);
}
also ich alles mit den ' geschrieben habe, so stand nichts in den variablen $anzahl['1'] bis ['10']. woran lag das???

Verfasst: 02.01.2004 01:33
von PhilippK
Zur 1. Frage:
-> ist aus der objektorientierten Programmierung in PHP: http://www.php.net/manual/de/language.oop.php
=> wird für die Schlüssel-Wert-Zuordnung bei Array verwendet: http://www.php.net/manual/de/language.types.array.php

Zur 2. Frage:
wenn du die Anführungszeichen weglässt, ist es kein String sondern eine Konstante - nur die Schreibweise mit Anführungszeichen ist korrekt: http://www.php.net/manual/de/language.constants.php
Allerdings hast du das in deinem Script wieder mit den nummerischen Werten durcheinandergewürfelt... ist die Zahl 10 ist ein String gefüllt mit einer 1 gefolgt von einer 2

Code: Alles auswählen

'bar'
ist ein String 'bar' ist eine Konstante

Gruß, Philipp

Verfasst: 02.01.2004 02:06
von Shadowman
1. das mit den klassen und objekten habe ich leider nich nicht so richtig verstanden.

Code: Alles auswählen

 function add_item ($artnr, $num)
   {
       $this->items[$artnr] += $num;
   }
ist das items das gleiche, wie das $items, das mit var $items definiert wurde??
und warum wird dort += geschrieben, das verstehe ich leider auch noch nicht.

2. Also müssen nur strings in ' ' eingefügt werden, zahlen aber nicht?

Verfasst: 02.01.2004 10:40
von PhilippK
Hallo Shadowman,

Zu 1.: jaein: es handelt sich schon um die gleiche Variable, jedoch existiert die Variable eben dann für jedes Objekt einmal. Ich würde dir allerdings empfehlen, den Bereich der Objektorientierung für später aufzuheben - der ist nicht gerade der einfachste.
Was das anbelangt, dass ist eine Kurzschreibweise. Dabei ist

Code: Alles auswählen

$i = $i + 3;
identisch mit

Code: Alles auswählen

$i += 3;
Zu 2.: ja :-)

Gruß, Philipp

Verfasst: 02.01.2004 10:45
von JumpinJack
Zu 2:
Soweit ich weiss komt es auch darauf an was du für eine Variable haben möchtest.
Sprich, willst du eine Textvarable mit dem Wert 2 schreibst du:
$i = "2"; oder $i = '2';
Wenn du jedoch einen Integer erzeugen willst, machst du das eben ohne:
$i = 2;

Verfasst: 02.01.2004 10:49
von jasc
Shadowman hat geschrieben: 2. Also müssen nur strings in ' ' eingefügt werden, zahlen aber nicht?
PhilippK hat geschrieben: Zu 2.: ja :-)
Das war ja gerade die Frage, die beantwortet wurde, JumpinJack, oder etwa nicht :-?

Verfasst: 02.01.2004 11:15
von JumpinJack
Achja...ich bin halt noch was müde! :oops: :D

Verfasst: 02.01.2004 13:23
von Shadowman
jo, das mit dem integer oder string is mir nun klar, das kenn ich aus visual basic, da is es so ähnlich, wenigstens habe ich ein wenig von der objektorientierten programmierung entstanden, aber einfach ist es wirklich nicht :D

noch zur objektorientierten programmierung mit php, könntet ihr mir da vielleicht ein buch vorschlagen, dann raffe ich es vielleicht eher, wenn des da schön erklärt ist..

Verfasst: 02.01.2004 13:32
von itst
Programmieren mit PHP, zu finden auf http://www.phpbb.de/einsteiger.php

Verfasst: 02.01.2004 14:35
von Shadowman
40? sind ja nicht gerade wenig muss ich sagen, muss ich mal wieder sparen....
ach ja, des euro zeichen geht bei euch irgendwie noch nicht, vielleicht solltet ihr mal schaun ob das mit dem ereg_replace("?", chr(ich weiss dei nummer nich ^^), $text); geht, ich weiss halt zu wenig über euer forum ^^