Ergänzend zu: Array-/Variableninitialisierung bei PHP
bearbeitet von Regina Schaukrug> In PHP erhalte ich aber bspw einen Fehler bei dem Code
> ~~~php
> $category['reporting']['period']['categorySum'] += $iCode['pi']['period']['sum'];
> ~~~
(Umgebaut:)
~~~php
<?php
$category['reporting']['period']['categorySum'] += 1;
echo '$category[\'reporting\'][\'period\'][\'categorySum\'] ist jetzt: ' . $category['reporting']['period']['categorySum'] . "\n";
~~~
Ausgaben in einem Terminal:
~~~
~$ php /tmp/test.php
PHP Notice: Undefined variable: category in /tmp/test.php on line 2
PHP Notice: Undefined index: reporting in /tmp/test.php on line 2
PHP Notice: Undefined index: period in /tmp/test.php on line 2
PHP Notice: Undefined index: categorySum in /tmp/test.php on line 2
$category['reporting']['period']['categorySum'] ist jetzt: 1
~~~
**Ergänzend:** Das ist formal kein "Fehler" sondern nur eine "Notiz". Fehler führen Abbruch. Die "Notizen" benachrichtigen in diesem Fall darüber, dass PHP zur Vermeidung eines Abbruchs spekuliert hat - was eine Programmiersprache meinem Verständnis von "Programm" nach nie tun sollte. Wie oben zu sehen ist wirft PHP sogar bis zu 4 Notizen. Allerdings gilt es unter Programmieren aus gutem Grund (Vermeidung der extrem schwer zu findenden logischen Fehler) als zwingend diese Notizen zu vermeiden. Hier durch Instanzierung des named arrays und seiner Elemente an geeigneter Stelle.
~~~php
if ( ! isset( $array['element'] ) ) {
$array[element] = 0;
}
~~~
wäre also womöglich (abhängig von der Aufgabe) ein richtiger Weg.
Andere, auch nicht ganz dumme, Programmierer meinen, dass es erlaubt und klug sei, Stellen, **an denen solche Notizen erwartet würden**, mit einem vorangestellten @ zu beginnen um die Notiz zu vermeiden:
~~~php
<?php
@$category['reporting']['period']['categorySum'] += 1;
echo '$category[\'reporting\'][\'period\'][\'categorySum\'] ist jetzt: ' . $category['reporting']['period']['categorySum'] . "\n";
?>
~~~
Ausgaben in einem Terminal:
~~~
~$ php /tmp/test.php
$category['reporting']['period']['categorySum'] ist jetzt: 1
~~~
Das macht aber die Fehlersuche schwieriger.
Ergänzend zu: Array-/Variableninitialisierung bei PHP
bearbeitet von Regina Schaukrug> In PHP erhalte ich aber bspw einen Fehler bei dem Code
> ~~~php
> $category['reporting']['period']['categorySum'] += $iCode['pi']['period']['sum'];
> ~~~
(Umgebaut:)
~~~php
<?php
$category['reporting']['period']['categorySum'] += 1;
echo '$category[\'reporting\'][\'period\'][\'categorySum\'] ist jetzt: ' . $category['reporting']['period']['categorySum'] . "\n";
~~~
Ausgaben:
~~~
~$ php /tmp/test.php
PHP Notice: Undefined variable: category in /tmp/test.php on line 2
PHP Notice: Undefined index: reporting in /tmp/test.php on line 2
PHP Notice: Undefined index: period in /tmp/test.php on line 2
PHP Notice: Undefined index: categorySum in /tmp/test.php on line 2
$category['reporting']['period']['categorySum'] ist jetzt: 1
~~~
**Ergänzend:** Das ist formal kein "Fehler" sondern nur eine "Notiz". Fehler führen Abbruch. Die "Notizen" benachrichtigen in diesem Fall darüber, dass PHP zur Vermeidung eines Abbruchs spekuliert hat - was eine Programmiersprache meinem Verständnis von "Programm" nach nie tun sollte. Wie oben zu sehen ist wirft PHP sogar bis zu 4 Notizen. Allerdings gilt es unter Programmieren aus gutem Grund (Vermeidung der extrem schwer zu findenden logischen Fehler) als zwingend diese Notizen zu vermeiden. Hier durch Instanzierung des named arrays und seiner Elemente an geeigneter Stelle.
~~~php
if ( ! isset( $array['element'] ) ) {
$array[element] = 0;
}
~~~
wäre also womöglich (abhängig von der Aufgabe) ein richtiger Weg.
Andere, auch nicht ganz dumme, Programmierer meinen, dass es erlaubt und klug sei, Stellen, **an denen solche Notizen erwartet würden**, mit einem vorangestellten @ zu beginnen um die Notiz zu vermeiden:
~~~php
<?php
@$category['reporting']['period']['categorySum'] += 1;
echo '$category[\'reporting\'][\'period\'][\'categorySum\'] ist jetzt: ' . $category['reporting']['period']['categorySum'] . "\n";
?>
~~~
Ausgaben:
~~~
~$ php /tmp/test.php
$category['reporting']['period']['categorySum'] ist jetzt: 1
~~~
Das macht aber die Fehlersuche schwieriger.
Ergänzend zu: Array-/Variableninitialisierung bei PHP
bearbeitet von Regina Schaukrug> In PHP erhalte ich aber bspw einen Fehler bei dem Code
> ~~~php
> $category['reporting']['period']['categorySum'] += $iCode['pi']['period']['sum'];
> ~~~
(Umgebaut:)
~~~php
<?php
$category['reporting']['period']['categorySum'] += 1;
echo '$category[\'reporting\'][\'period\'][\'categorySum\'] ist jetzt: ' . $category['reporting']['period']['categorySum'] . "\n";
~~~
Ausgaben:
~~~
~$ php /tmp/test.php
PHP Notice: Undefined variable: category in /tmp/test.php on line 2
PHP Notice: Undefined index: reporting in /tmp/test.php on line 2
PHP Notice: Undefined index: period in /tmp/test.php on line 2
PHP Notice: Undefined index: categorySum in /tmp/test.php on line 2
$category['reporting']['period']['categorySum'] ist jetzt: 1
~~~
**Ergänzend:** Das ist formal kein "Fehler" sondern nur eine "Notiz". Fehler führen Abbruch. Die "Notizen" benachrichtigen in diesem Fall darüber, dass PHP zur Vermeidung eines Abbruchs spekuliert hat - was eine Programmiersprache meinem Verständnis von "Programm" nach nie tun sollte. Wie oben zu sehen ist wirft PHP sogar bis zu 4 Notizen. Allerdings gilt es unter Programmieren aus gutem Grund (Vermeidung der extrem schwer zu findenden logischen Fehler) als zwingend diese Notizen zu vermeiden. Hier durch Instanzierung des named arrays und seiner Elemente an geeigneter Stelle.
~~~php
if ( ! isset( $array['element'] ) ) {
$array[element] = 0;
}
~~~
wäre also womöglich (abhängig von der Aufgabe) ein richtiger Weg.
Andere Programmierer meinen, dass es erlaubt und klug sei, Stellen, **an denen solche Notizen erwartet würden**, mit einem vorangestellten @ zu beginnen um die Notiz zu vermeiden:
~~~php
<?php
@$category['reporting']['period']['categorySum'] += 1;
echo '$category[\'reporting\'][\'period\'][\'categorySum\'] ist jetzt: ' . $category['reporting']['period']['categorySum'] . "\n";
?>
~~~
Ausgaben:
~~~
~$ php /tmp/test.php
$category['reporting']['period']['categorySum'] ist jetzt: 1
~~~
Das macht aber die Fehlersuche schwieriger.
Ergänzend zu: Array-/Variableninitialisierung bei PHP
bearbeitet von Regina Schaukrug> In PHP erhalte ich aber bspw einen Fehler bei dem Code
> ~~~php
> $category['reporting']['period']['categorySum'] += $iCode['pi']['period']['sum'];
> ~~~
(Umgebaut:)
~~~php
<?php
$category['reporting']['period']['categorySum'] += 1;
echo '$category[\'reporting\'][\'period\'][\'categorySum\'] ist jetzt: ' . $category['reporting']['period']['categorySum'] . "\n";
~~~
Ausgaben:
~~~
~$ php /tmp/test.php
PHP Notice: Undefined variable: category in /tmp/test.php on line 2
PHP Notice: Undefined index: reporting in /tmp/test.php on line 2
PHP Notice: Undefined index: period in /tmp/test.php on line 2
PHP Notice: Undefined index: categorySum in /tmp/test.php on line 2
$category['reporting']['period']['categorySum'] ist jetzt: 1
~~~
**Ergänzend:** Das ist formal kein "Fehler" sondern nur eine "Notiz". Fehler führen Abbruch. Die "Notizen" benachrichtigen in diesem Fall darüber, dass PHP zur Vermeidung eines Abbruchs spekuliert hat - was eine Programmiersprache meinem Verständnis von "Programm" nach nie tun sollte. Wie oben zu sehen ist wirft PHP sogar bis zu 4 Notizen. Allerdings gilt es unter Programmieren aus gutem Grund (Vermeidung der extrem schwer zu findenden logischen Fehler) als zwingend diese Notizen zu vermeiden. Hier durch Instanzierung des named arrays und seiner Elemente an geeigneter Stelle.
~~~php
if ( ! isset( $array['element'] ) ) {
$array[element] = 0;
}
~~~
wäre also womöglich (abhängig von der Aufgabe) ein richtiger Weg.
Andere Programmierer meinen, dass es erlaubt und klug sei, Stellen an denen solche Notizen erwartet würden mit einem vorangestellten @ zu beginnen um die Notiz zu vermeiden:
~~~php
<?php
@$category['reporting']['period']['categorySum'] += 1;
echo '$category[\'reporting\'][\'period\'][\'categorySum\'] ist jetzt: ' . $category['reporting']['period']['categorySum'] . "\n";
?>
~~~
Ausgaben:
~~~
~$ php /tmp/test.php
$category['reporting']['period']['categorySum'] ist jetzt: 1
~~~
Das macht aber die Fehlersuche schwieriger.
Ergänzend zu: Array-/Variableninitialisierung bei PHP
bearbeitet von Regina Schaukrug> In PHP erhalte ich aber bspw einen Fehler bei dem Code
> ~~~php
> $category['reporting']['period']['categorySum'] += $iCode['pi']['period']['sum'];
> ~~~
(Umgebaut:)
~~~php
<?php
$category['reporting']['period']['categorySum'] += 1;
echo '$category[\'reporting\'][\'period\'][\'categorySum\'] ist jetzt: ' . $category['reporting']['period']['categorySum'] . "\n";
~~~
Ausgaben:
~~~
~$ php /tmp/test.php
PHP Notice: Undefined variable: category in /tmp/test.php on line 2
PHP Notice: Undefined index: reporting in /tmp/test.php on line 2
PHP Notice: Undefined index: period in /tmp/test.php on line 2
PHP Notice: Undefined index: categorySum in /tmp/test.php on line 2
$category['reporting']['period']['categorySum'] ist jetzt: 1
~~~
**Ergänzend:** Das ist formal kein "Fehler" sondern nur eine "Notiz". Fehler führen Abbruch. Die "Notizen" benachrichtigen in diesem Fall darüber, dass PHP zur Vermeidung eines Abbruchs spekuliert hat - was eine Programmiersprache meinem Verständnis von "Programm" nach nie tun sollte. Wie oben zu sehen ist wirft PHP sogar bis zu 4 Notizen. Allerdings gilt es unter Programmieren aus gutem Grund (Vermeidung der extrem schwer zu findenden logischen Fehler) als zwingend diese Notizen zu vermeiden. Hier durch Instanzierung des named arrays und seiner Elemente an geeigneter Stelle.
~~~php
if ( ! isset( $array['element'] ) ) {
$array[element] = 0;
}
~~~
wäre also womöglich (abhängig von der Aufgabe) ein richtiger Weg.
Andere Programmierer meinen, dass es erlaubt und klug sei, Stellen an denen solche Notizen erwartet würden mit einem vorangestellten @ zu beginnen um die Notiz zu vermeiden:
> ~~~php
> @$category['reporting']['period']['categorySum'] += $iCode['pi']['period']['sum'];
> ~~~
Das macht aber die Fehlersuche schwieriger.
Ergänzend zu: Array-/Variableninitialisierung bei PHP
bearbeitet von Regina Schaukrug> In PHP erhalte ich aber bspw einen Fehler bei dem Code
> ~~~php
> $category['reporting']['period']['categorySum'] += $iCode['pi']['period']['sum'];
> ~~~
(Umgebaut:)
~~~php
<?php
$category['reporting']['period']['categorySum'] += 1;
echo '$category[\'reporting\'][\'period\'][\'categorySum\'] ist jetzt: ' . $category['reporting']['period']['categorySum'] . "\n";
~~~
Ausgaben:
~~~
~$ php /tmp/test.php
PHP Notice: Undefined variable: category in /tmp/test.php on line 2
PHP Notice: Undefined index: reporting in /tmp/test.php on line 2
PHP Notice: Undefined index: period in /tmp/test.php on line 2
PHP Notice: Undefined index: categorySum in /tmp/test.php on line 2
$category['reporting']['period']['categorySum'] ist jetzt: 1
~~~
**Ergänzend:** Das ist formal kein "Fehler" sondern nur eine "Notiz". Fehler führen Abbruch. Die "Notizen" benachrichtigen in diesem Fall darüber, dass PHP zur Vermeidung eines Abbruchs spekuliert hat - was eine Programmiersprache meinem Verständnis von "Programm" nach nie tun sollte. Wie oben zu sehen ist wirft PHP sogar bis zu 4 Notizen. Allerdings gilt es unter Programmieren aus gutem Grund (Vermeidung der extrem schwer zu findenden logischen Fehler) als zwingend diese Notizen zu vermeiden. Hier durch Instanzierung des named arrays und seiner Elemente an geeigneter Stelle.
~~~php
if ( ! isset( $array['element'] ) ) {
$array[element] = 0;
}
~~~
wäre also womöglich (abhängig von der Aufgabe) ein richtiger Weg.
Ergänzend zu: Array-/Variableninitialisierung bei PHP
bearbeitet von Regina Schaukrug> In PHP erhalte ich aber bspw einen Fehler bei dem Code
> ~~~php
> $category['reporting']['period']['categorySum'] += $iCode['pi']['period']['sum'];
> ~~~
(Umgebaut:)
~~~php
<?php
$category['reporting']['period']['categorySum'] += 1;
echo '$category[\'reporting\'][\'period\'][\'categorySum\'] ist jetzt: ' . $category['reporting']['period']['categorySum'] . "\n";
~~~
Ausgaben:
~~~
~$ php /tmp/test.php
PHP Notice: Undefined variable: category in /tmp/test.php on line 2
PHP Notice: Undefined index: reporting in /tmp/test.php on line 2
PHP Notice: Undefined index: period in /tmp/test.php on line 2
PHP Notice: Undefined index: categorySum in /tmp/test.php on line 2
$category['reporting']['period']['categorySum'] ist jetzt: 1
~~~
**Ergänzend:** Das ist formal kein "Fehler" sondern nur eine "Notiz". Fehler führen Abbruch. Die "Notizen" benachrichtigen in diesem Fall darüber, dass PHP zur Vermeidung eines Abbruchs spekuliert hat (was eine Programmiersprache meinem Verständnis nach nie tun sollte) Wie oben zu sehen ist wirft PHP sogar bis zu 4 Notizen. Allerdings gilt es unter Programmieren aus gutem Grund (Vermeidung der extrem schwer zu findenden logischen Fehler) als zwingend diese Notizen zu vermeiden. Hier durch Instanzierung des named arrays und seiner Elemente an geeigneter Stelle.
~~~php
if ( ! isset( $array['element'] ) ) {
$array[element] = 0;
}
~~~
wäre also womöglich (abhängig von der Aufgabe) ein richtiger Weg.
Ergänzend zu: Array-/Variableninitialisierung bei PHP
bearbeitet von Regina Schaukrug> In PHP erhalte ich aber bspw einen Fehler bei dem Code
> ~~~php
> $category['reporting']['period']['categorySum'] += $iCode['pi']['period']['sum'];
> ~~~
(Umgebaut:)
~~~php
<?php
$category['reporting']['period']['categorySum'] += 1;
echo '$category[\'reporting\'][\'period\'][\'categorySum\'] ist jetzt: ' . $category['reporting']['period']['categorySum'] . "\n";
~~~
Ausgaben:
~~~
~$ php /tmp/test.php
PHP Notice: Undefined variable: category in /tmp/test.php on line 2
PHP Notice: Undefined index: reporting in /tmp/test.php on line 2
PHP Notice: Undefined index: period in /tmp/test.php on line 2
PHP Notice: Undefined index: categorySum in /tmp/test.php on line 2
$category['reporting']['period']['categorySum'] ist jetzt: 1
~~~
**Ergänzend:** Das ist formal kein "Fehler" sondern nur eine "Notiz". Fehler führen Abbruch. Die "Notizen" benachrichtigen in diesem Fall darüber, dass PHP zur Vermeidung eines Abbruchs spekuliert hat (was eine Programmiersprache meinem Verständnis nach nie tun sollte) Wie oben zu sehen sogar bis zu 4 Notizen. Allerdings gilt es unter Programmieren aus gutem Grund (Vermeidung der extrem schwer zu findenden logischen Fehler) als zwingend diese Notizen zu vermeiden. Hier durch Instanzierung des named arrays und seiner Elemente an geeigneter Stelle.
~~~php
if ( ! isset( $array['element'] ) ) {
$array[element] = 0;
}
~~~
wäre also womöglich (abhängig von der Aufgabe) ein richtiger Weg.
Ergänzend zu: Array-/Variableninitialisierung bei PHP
bearbeitet von Regina Schaukrug> In PHP erhalte ich aber bspw einen Fehler bei dem Code
> ~~~php
> $category['reporting']['period']['categorySum'] += $iCode['pi']['period']['sum'];
> ~~~
(Umgebaut:)
~~~php
<?php
$category['reporting']['period']['categorySum'] += 1;
echo '$category[\'reporting\'][\'period\'][\'categorySum\'] ist jetzt: ' . $category['reporting']['period']['categorySum'] . "\n";
~~~
Ausgaben:
~~~
~$ php /tmp/test.php
PHP Notice: Undefined variable: category in /tmp/test.php on line 2
PHP Notice: Undefined index: reporting in /tmp/test.php on line 2
PHP Notice: Undefined index: period in /tmp/test.php on line 2
PHP Notice: Undefined index: categorySum in /tmp/test.php on line 2
$category['reporting']['period']['categorySum'] ist jetzt: 1
~~~
**Ergänzend:** Das ist kein "Fehler", sondern nur eine "Notiz". Wie oben zu sehen sogar bis zu 4 Notizen. Allerdings gilt es unter Programmieren aus gutem Grund (Vermeidung der extrem schwer zu findenden logischen Fehler) als zwingend diese Notizen zu vermeiden. Hier durch Instanzierung des named arrays und seiner Elemente an geeigneter Stelle.
~~~php
if ( ! isset( $array['element'] ) ) {
$array[element] = 0;
}
~~~
wäre also womöglich (abhängig von der Aufgabe) ein richtiger Weg.