「530-0001」という数字は人間が見たら郵便番号と判断できますが、コンピューターは、郵便番号なのか減算の計算式なのか区別がつきません。郵便番号の場合は、「530-0001」という一連の文字データですが、計算式の場合は「530」と「0001」という2つの数値データの計算式です。
数値計算する場合は、「"(ダブルクオート)」もしくは、「'(シングルクオート)」は不要です。
<meta http-equiv="Content-Type" content="text/plain"> <meta http-equiv="Content-Script-Type" content="text/javascript"> <script type="text/javascript"> document.write(530-0001); </script>
529
<?php header("Content-type: text/plain; charset=utf-8"); echo 530-0001; ?>
529
文字データとして扱う場合は「"(ダブルクオート)」もしくは、「'(シングルクオート)」が必要です。
<meta http-equiv="Content-Type" content="text/plain"> <meta http-equiv="Content-Script-Type" content="text/javascript"> <script type="text/javascript"> document.write("530-0001"); </script>
530-0001
<?php header("Content-type: text/plain; charset=utf-8"); echo "530-0001"; ?>
530-0001
これらのデータの種類の違いのことを「データ型」といい、PHP、JavaScriptでそれぞれ以下のように調べることができます。
<meta http-equiv="Content-Type" content="text/plain"> <meta http-equiv="Content-Script-Type" content="text/javascript"> <script type="text/javascript"> var data = 530-0001 document.write(typeof data); </script>
number
<?php header("Content-type: text/plain; charset=utf-8"); echo gettype(530-0001); ?>
integer
<meta http-equiv="Content-Type" content="text/plain"> <meta http-equiv="Content-Script-Type" content="text/javascript"> <script type="text/javascript"> document.write(typeof "530-0001"); </script>
string
<?php header("Content-type: text/plain; charset=utf-8"); echo gettype("530-0001"); ?>
string