Wissen in den Kopf drücken

Heute habe ich wieder eine Längere “Wissen in den Kopf drücken” Stunde für die Azubis abgehalten. Dabei sind wir auf Pointer gekommen… bzw. was ist der Unterschied zwischen “$a =& $b” und “$$c”?

Braucht man einen Pointer.

  1. $int = 1;
  2. $intP =& $int;
  3. echo $intP;
  4. $int = 2;
  5. echo $intP;
1
2

Braucht man den Inhalt eine Variable anhand des Namen.

  1. $int = 1;
  2. $str = "int";
  3. $strP = $$str;
  4. echo $strP;
  5. $int = 2;
  6. echo $strP;
1
1

Braucht man einen Pointer auf den Inhalt einer Variable anhand des Namen, warum auch immer…

  1. $int = 1;
  2. $str = "int";
  3. $strP =& $$str;
  4. echo $strP;
  5. $int = 2;
  6. echo $strP;
1
2

Neben bei noch:
Smarty documentation fail: is here
Mein Azubi hat mich gefragt wo denn dieses $KundenId Array herkommt… und es fehlt wirklich. Da hat einer beim Übersetzen nich gerafft um was es eigentlich geht.

  1. <?php
  2. $arr = array( 1001,1002,1003);
  3. $smarty->assign(‘custid’, $arr);
  4. ?>
  5. {* dieses Beispiel gibt alle Werte aus dem $KundenId Array aus *}
  6. {foreach from=$KundenId item=aktuelle_id}
  7.  id: {$aktuelle_id}<br>
  8. {/foreach}

Weiter wird dann noch behauptet:

Das obige Beispiel erzeugt folgende Ausgabe:

id: 1000<br>
id: 1001<br>
id: 1002<br>

Sicher nicht!

Leave a Reply

Ihr Browser versucht gerade eine Seite aus dem sogenannten Internet auszudrucken.

Das Internet ist ein weltweites Netzwerk von Computern, das den Menschen ganz neue Möglichkeiten der Kommunikation bietet.

Da einige von neuen Dingen nichts verstehen, halten wir es für notwendig, sie davor zu schützen. Dies ist im beidseitigen Interesse, da unnötige Angstzustände bei Ihnen verhindert werden, ebenso wie es uns vor profilierungs- und machtsüchtigen Menschen schützt.

Sollten Sie der Meinung sein, dass Sie diese Internetseite dennoch sehen sollten, so können Sie jederzeit durch normalen Gebrauch eines Internetbrowsers darauf zugreifen. Dazu sind aber minimale Computerkenntnisse erforderlich. Sollten Sie diese nicht haben, vergessen Sie einfach dieses Internet und lassen uns in Ruhe.

Die Umgehung dieser Ausdrucksperre ist nach §95a UrhG verboten.
Quelle: http://www.gesetze-im-internet.de/urhg/__95a.html