Home > PHP > PHP - 定数と変数

PHP - 定数と変数

  • 2012-03-10 (Sat) 09:23
  • PHP
花粉のシーズンになりました。
私自身も花粉症になったようで、3日前からかなり鼻が辛いです。

市販の薬を飲んだら、鼻はすっきりしますが、頭がボーっっとしますね。副作用なんでしょうけど。

花粉が飛ぶということは、春も近いということでしょうから、暖かくなることを期待して、鼻水対策をしましょう。^^;

さて、今日はPHPの初歩となる定数と変数の話です。

第2回:定数と変数
PHPを使ったスクリプトには規則、文法なるものがあります。これは、どのプログラムにも言えることですが、PHPは他のプログラムと違うのは、かなり寛容であることです。
寛容であるゆえに、初心者でも作りやすいというメリットがありますが、反面、エラーなどに気付かないという点があります。

定数:プログラム内で使用したい値などをあらかじめ格納して置くために使用するもの
定数という言葉通り、プログラム内で使用される計算でも変わることのない値ということで、常に同じ値を保持します。

この定数を定義するために使用される関数が「define()」関数です。
define("定数名,"値")


定義などという言葉がピンとこない人もいるかと思いますが、定義とは「そのような決まり、設定を行います」ということになります。
定数は、その漢字のとおり「定めた値」というものです。
よって、定数を定義するとは、「ある値の中身を変えたくない場合に、定数として設定する」ということになります。

<定数の例>

<?php
 define("hello","こんにちは!元気ですか?");
 print (hello);
?>

この記述を書いたファイルをXAMPPのhtdocsフォルダ内に保存して、ブラウザでレンダリングすると以下のようになります。
20120310-p03.jpg

変数:データの値を一時的に格納し、計算結果などによりその値が変化するもの
変数は、その名前のとおり変化する値を格納する箱のようなイメージになります。定数は値が固定ですが、変数は値が可変すると考えてください。

この変数は、どのようなプログラムであっても必須のものです。PHPなどのプログラムは、この変数を良く利用して、ユーザの入力した値を動的に処理をしてくれます。

変数は、代入演算子(=)によって値を変数(一時的に値を格納する箱)に格納します。
通常、「=」(イコール)は、等しいという意味の記号ですが、プログラムでは「右辺の値を左辺に代入する」という意味となります。ここが重要ポイントです。

また、PHPの場合は「これは変数ですよ」という意味を持たせるために、変数の行頭に「$」を付けます。
$変数名 = 変数に格納したい値


通常、変数は変数の型を指定する必要があります。変数の型とは、「この値は文字列です、この値は数値です、この値は日付です」というように宣言することで、間違った値が格納された時に間違いが判明するメリットを持ちます。
例えば、数値を入れる変数なのに、誤って文字列が格納されようとしても、文字列は格納されないように処理します。

しかし、PHPは特に変数に対してデータの型を宣言する必要はありません。そのようなところが、受け入れやすいプログラムということが言えます。
逆に言えば、「いい加減」であると言うことにもなります。だから、間違った記述をしてしまうと、何も表示されなくなり、どこが間違っているかを自分自身で探す必要があります。
このようなミスを無くすには、正確にタイピングして、規則正しく記述することさえできれば、ちゃんと動作してくれると考えてみてください。

変数に格納できる種類には、論理値(boolean)、整数(integer)、文字列(string)、浮動小数点(float)などがあります。
論理値の場合    $hensu = true;
整数値の場合    $hensu = 12345;
文字列の場合    $hensu = "おはよう!";
浮動小数点の場合    $hensu = 0.123;

<変数の例1>

<php
 $x = 200;
 $y = 355;
 $z = $x + $y;
 print $z;
 $z = $x - $y;
 print "
$z";
?>

20120310-p04.jpg

上の例の「$z」に注目すると、値が555から-155に変化したのが分かるかと思います。
あくまでも、変数というのは一時的な値を格納する入れ物ですから、プログラムの内容によって変化できるということになります。

変数の使い方としては、ユーザがブラウザ上で入力したデータをPHPの変数の中に格納して、そのデータを使って処理を行いたいときに良く利用されます。
<変数の例2>

<?php
 if(isset($_POST["click"]) && $_POST["namae"] != ""){
  $name = $_POST["namae"];
  print $name . "さん、ようこそ!";
 }
?>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
<title>サンプル</title>
</head>
<body>
<form action="sample.php" method="post">
<p><input type="text" name="namae" size="30" /></p>
<p><input type="submit" name="click" value="クリック" /></p>
</body>
</html>


上の記述をブラウザで表示して、名前を入力します。ここでは、仮の名前「佐藤 征四郎」と入力してみます。
20120310-p05.jpg

ボタンをクリックすると、以下のようにメッセージが表示されます。
20120310-p06.jpg
どうでしょうか?
変数は、さまざまな場面で利用します。まず、プログラムの一歩目は変数をいかに利用できるかという面を覚えてみてください。

Comments:2

wlp 2015-06-29 (Mon) 18:11

http://www.guccihandbags.com.co/
http://www.gucci-outlet.in.net/
http://www.gucci--outlet.com.co/
http://www.guccishoes.net.co/
http://www.guccishoes.us.org/
http://www.hermesbags.com.co/
http://www.hermesbirkin.com.co/
http://www.hermesoutlet.net.co/
http://www.hollister.us.org/
http://www.hollisterclothing-store.in.net/
http://www.insanityworkout.net.co/
http://www.iphone-cases.us/
http://www.ralphlaurenpolo.in.net/
http://www.ray-ban-outlet.us.com/
http://www.raybans.us.org/
http://www.rayban-sunglasses.org.uk/
http://www.rayban-sunglasses.us.org/
http://www.raybansunglassesoutlet.net.co/
http://www.raybanwayfarer.in.net/
http://www.replicahandbags.com.co/
http://www.replicawatches.us.com/
http://www.retro-jordans.com/
http://www.rolex-watches.me.uk/
http://www.rosherun.org.uk/
http://www.rosheruns.us/
http://www.salvatoreferragamo.in.net/
http://www.soccer-shoes.org/
http://www.softball-bats.us/
http://www.suprashoe.net/
http://www.swarovskicrystal.com.co/
http://www.swarovskijewelry.com.co/
http://www.swarovski-uk.org.uk/
http://www.the-northface.com.co/
http://www.the-northface.in.net/
http://www.thenorth-face.org.uk/
http://www.thenorthface.us.org/
http://www.thenorthfacejackets.in.net/
http://www.thomassabo-uk.org.uk/
http://www.tiffanyandco.net.co/
http://www.tiffanyjewelry.us.org/
http://www.tory-burch-outlet.in.net/
http://www.tory-burchoutlet.us.com/
http://www.louboutin.jp.net/
http://www.louis-vuittoncanada.ca/
http://www.louisvuitton.jp.net/
http://www.louis--vuitton.org.uk/
http://www.louisvuitton.so/
http://www.louisvuittonas.com/
http://www.edhardy.in.net/
http://www.levisjeans.com.co/
http://www.bcbgdresses.net/
http://www.bebeclothing.net/
http://www.harrods-london.co.uk/
http://www.guccishoes.com.co/
http://www.ralphlaurenoutletonline.us.org/
http://www.true-religion.com.co/
http://www.truereligionjeans.net.co/
http://www.truereligion-outlet.com.co/
http://www.uggaustralia.net.co/
http://www.uggboots.net.co/
http://www.uggbootsclearance.com.co/
http://www.uggsonsale.com.co/
http://www.uggsoutlet.com.co/
http://www.uptocoachoutlet.com/
http://www.vansshoes.us/
http://www.weddingdressesuk.org.uk/
http://www.yogapants.com.co/
http://www.ugg-boots.us.org/
http://www.poloralphlaurenoutlet.net.co/
http://www.burberryoutletonline.ar.com/
http://www.toms-outlet.net.co/
http://www.michaelkors.in.net/
http://www.christianlouboutinoutlet.net.co/
http://www.toryburchsale.com.co/
http://www.pradaoutlet.com.co/
http://www.longchamp-handbags.in.net/
http://www.longchampoutlet.com.co/
http://www.chanel-bags.com.co/
http://www.truereligion-outlet.us.org/
http://www.abercrombie-and-fitch.us.com/
http://www.timberlandboots-outlet.net/
http://www.timberland-shoes.com/
http://www.tommyhilfiger.net.co/
http://www.tommy-hilfigeroutlet.com/
http://www.tomshoesoutlet.com/
http://www.toms-outlet.in.net/
http://www.toms-shoes.com.co/
http://www.hollisterclothing.in.net/
http://www.newbalance-shoes.org/
http://www.converse--shoes.net/
http://www.lululemonoutlet.com.co/
http://www.nfl-jerseys.in.net/
http://www.cheapjerseys.us.org/
http://www.rolex-watches.us.com/
http://www.rolexwatchesforsale.us.com/
http://www.p90xworkout.in.net/
http://www.giuseppezanotti.com.co/
http://www.maccosmetics.net.co/
http://www.instyler.in.net/
http://www.mizunorunning.net/
http://www.handbagsoutlet.com.co/
http://www.hilfigeroutlet.in.net/
http://www.kate-spade.com.co/
http://www.katespade-outlet.com.co/
http://www.kate-spades.com/
http://www.longchamp.us.org/
http://www.longchamp.com.co/

Carfuck 2018-01-27 (Sat) 11:14

Discount Online Direct Acticin Pills Next Day Delivery Cialis 10 Vademecum Fluconazole Buy Uk <a href=http://buyciali.com>online pharmacy</a> Kamagra Glaucoma

Comment Form
★下記に2つの英単語をスペースで区切って入力してください

Home > PHP > PHP - 定数と変数

Search
Feeds

Page Top