Hallo,
ich bereite mich gerade auf die Zend-PHP-Prüfung vor. Da ich ja nun nicht faul herum sitze, sondern mir auch den Study Guide und einiges im Web dazu durchlese habe ich nun folgende Frage gefunden:
Rein vom logischen her, wäre die Lösung 8. Probiert man aber das ganze aus, wird man feststelle, dass die Lösung B (7) richtig ist.
Ich habe verschiedene Ansätze (auch Teilrechnungen) versucht um logisch auf die 7 zu kommen, aber nichts hat geklappt. Herausgefunden habe ich aber, dass dies am Typecasten, also dem "(int)" liegt, doch warum ist dies so?
Würde das (int) jeden Wert in der Klammer Typecasten, müsste das Ergebnis eigentlich 0 sein.
Da ich nun nicht ganz nachvollziehen kann, wie PHP vorgeht, hoffe ich dass mir von euch evtl. jemand helfen bzw. mir die Vorgehensweise erklären kann!?
Wer kann mir hier freundlicherweise Erklären, wo das Problem liegt?
Danke im voraus!
MFG
Papenburger
ich bereite mich gerade auf die Zend-PHP-Prüfung vor. Da ich ja nun nicht faul herum sitze, sondern mir auch den Study Guide und einiges im Web dazu durchlese habe ich nun folgende Frage gefunden:
PHP:
<?php echo (int)((0.1 + 0.7) * 10); ?>
Was ist das Ergebnis der oben stehenden Rechnung?
A: Das PHP-Script wirft eine Exeption und bricht ab
B: 7
C: 10
D: 8
Rein vom logischen her, wäre die Lösung 8. Probiert man aber das ganze aus, wird man feststelle, dass die Lösung B (7) richtig ist.
Ich habe verschiedene Ansätze (auch Teilrechnungen) versucht um logisch auf die 7 zu kommen, aber nichts hat geklappt. Herausgefunden habe ich aber, dass dies am Typecasten, also dem "(int)" liegt, doch warum ist dies so?
Würde das (int) jeden Wert in der Klammer Typecasten, müsste das Ergebnis eigentlich 0 sein.
Da ich nun nicht ganz nachvollziehen kann, wie PHP vorgeht, hoffe ich dass mir von euch evtl. jemand helfen bzw. mir die Vorgehensweise erklären kann!?
Wer kann mir hier freundlicherweise Erklären, wo das Problem liegt?
Danke im voraus!
MFG
Papenburger