Because I am lazy, I want to name a bunch of inputs using their scientific units so that I can later run a foreach() loop and use the array key as the parameter label.
<?php print_r($_POST) ?>
<form method="post" action="">
<input type="text" name="param[°]" value="<?php $_POST['param']['°'] ?>"/>
<input type="submit" value="submit"/>
</form>
But alas, °
changes to °
automatically, which to me is unexpected behavior. Who is responsible for this change and is this part of some standard? Is there a way to ensure that the array key remains the same?
The °
notation is replaced by its defined meaning, the DEGREE SIGN “°”, by a web browser, or other HTML client, when parsing an HTML document. This is a defined and required process according to all HTML specifications.
If you want the literal string °
to appear in parsed HTML content, you need to write it e.g. as &deg;
. But that string is not a scientific unit; it is just an HTML notation that may be used when you cannot or do not wish to type “°” directly.