suit: String-Variable

Beitrag lesen

<blockquote>
<p><b>Ihre Zahl:</b> [eine_zahl]<br>
</p>
</blockquote>

ein <p /> darf afaik nicht in einem blockquote vorkommen zudem ist <b /> deprecated und sollte nicht verwendet werden - man kann blockquote alleine auch schön stylen - zudem bezweifle ich, dass du <blockquote /> richtig verwendest - das element ist für zitate gedacht und nicht um die grade eingegebene zahl im formular zu zitieren :D

Die Variable resp. der Name des Formularfeldes(hier "eine_zahl") wird in html also in eckigen Klammern geschrieben und dann auch brav ausgegeben.

Nun möchte ich die Formulareingabe aber in eine PHP-Variable speichern. Folgendes habe ich versucht:

<?php
$nr = "[eine_zahl]";
echo $nr;
?>

Auch hier gibt das Script brav die eingegebene Zahl aus. Wenn ich nun aber mit der Zahl rechnen will, erhalte ich immer 0. Ist auch nicht erstaunlich, da PHP die Zahl als String-Variable speichert(["eine_zahl"]=> string(8) "200010"). Den Typ von String auf Integer zu ändern, ergibt 0 als Ausgabe.

Hat jemand einen Tipp?

du hast den typ auf integer geändert - integer ist das englische wort für ganzzahl - wie wir aus der grundschule wissen, setzen sich ganzzahlen in einem dezimalen zahlensystem aus den ziffern 0 bis 9 zusammen - keine nachkommastellen (weil ja ganzzahl) und keine sonderzeichen

für mich sieht eine eckige klammer auf [ und eine eckige klammer zu ] nicht aus wie eine der ziffern von 0 bis 9 - darum dürfte schätzungsweise auch php probleme haben, den wert [123] in eine zahl zu konvertieren

auch wenn php bei den datentypen vergleichsweise locker ist, sollte man diese gutmütigkeit nicht zu weit ausreizen - besonders bei verzweigungen ist das teilweise recht gefährlich

  
$blah = 0;  
// $blah = 1;  
  
if ($blah == true) {  
 echo 'dieses';  
} else {  
 echo 'jenes';  
}  

na was meinst du kommt dabei raus wenn man 0 und 1 versucht für $blah? 1x dieses, 1x jenes? oder doch nicht - wer weiss das schon genau wenn man datentypen nicht definiert ;) und keine typenvergleiche (identical-operator) durchfürht und einfach so vergleicht (equal-operator)