<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>PHPの基礎 &#8211; PHPプログラミングの教科書 [php1st.com]</title>
	<atom:link href="https://php1st.com/basic/feed" rel="self" type="application/rss+xml" />
	<link>https://php1st.com</link>
	<description>気軽に読めるPHP入門書・PHPスクリプトが動かないときの原因と対策などを紹介します。</description>
	<lastBuildDate>Wed, 04 Jul 2018 11:20:59 +0000</lastBuildDate>
	<language>ja</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.7.1</generator>
	<item>
		<title>PHP 7の宇宙船演算子の使い方</title>
		<link>https://php1st.com/2505</link>
		
		<dc:creator><![CDATA[西沢直木]]></dc:creator>
		<pubDate>Wed, 04 Jul 2018 11:20:59 +0000</pubDate>
				<category><![CDATA[PHPの基礎]]></category>
		<guid isPermaLink="false">https://php1st.com/?p=2505</guid>

					<description><![CDATA[PHP 7で追加された宇宙船演算子は2つの式の大小関係をチェックするときに使います。 たとえば、$aと$bについて大小関係を比較して次のような値を返します。 $aと$bが一致する場合：0を返す $aが$bより大きい場合： [&#8230;]]]></description>
										<content:encoded><![CDATA[<p>PHP 7で追加された<strong>宇宙船演算子</strong>は2つの式の大小関係をチェックするときに使います。</p>
<p>たとえば、$aと$bについて大小関係を比較して次のような値を返します。</p>
<ul>
<li>$aと$bが一致する場合：0を返す</li>
<li>$aが$bより大きい場合：1を返す</li>
<li>$aが$bより小さい場合：-1を返す</li>
</ul>
<p>使用例は次のようになります。</p>
<pre class="brush: php; gutter: false; title: 宇宙船演算子の使用例; notranslate">
&lt;?php
$a = 10;
$b = 100;

if (($a &lt;=&gt; $b) == 0) {
  echo '$aと$bは一致する';
} elseif (($a &lt;=&gt; $b) == 1) {
  echo '$aは$bより大きい';
} elseif (($a &lt;=&gt; $b) == -1) {
  echo '$aは$bより小さい';
}
?&gt;
</pre>
<p>実行結果は次のようになります。</p>
<div class="list-title">実行結果</div>
<div class="res">$aは$bより小さい</div>
<h2>usort関数と宇宙船演算子の組み合わせ</h2>
<p>PHPマニュアルのusort関数のページに次のようなコードが載っています。ユーザー定義関数で配列をソートするコードです。</p>
<pre class="brush: php; gutter: false; title: ; notranslate">
&lt;?php
function cmp($a, $b)
{
    if ($a == $b) {
        return 0;
    }
    return ($a &lt; $b) ? -1 : 1;
}

$a = array(3, 2, 5, 6, 1);

usort($a, &quot;cmp&quot;);

foreach ($a as $key =&gt; $value) {
    echo &quot;$key: $value\n&quot;;
}
?&gt;
</pre>
<p>【引用】<a target="_blank" href="http://php.net/manual/ja/function.usort.php">PHP: usort &#8211; Manual</a></p>
<div class="list-title">実行結果</div>
<div class="res">
0: 1<br />
1: 2<br />
2: 3<br />
3: 5<br />
4: 6
</div>
<p>宇宙船演算子を使えば、上記のような$aと$bの比較部分を次のように1行のコードで書き換えることができます。</p>
<pre class="brush: php; gutter: false; highlight: [4]; title: ; notranslate">
&lt;?php
function cmp($a, $b)
{
    return $a &lt;=&gt; $b;
}

$a = array(3, 2, 5, 6, 1);

usort($a, &quot;cmp&quot;);

foreach ($a as $key =&gt; $value) {
    echo &quot;$key: $value\n&quot;;
}
?&gt;
</pre>
<p>実行結果は同じです。</p>
<div class="list-title">実行結果</div>
<div class="res">
0: 1<br />
1: 2<br />
2: 3<br />
3: 5<br />
4: 6
</div>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>条件分岐</title>
		<link>https://php1st.com/985</link>
		
		<dc:creator><![CDATA[西沢直木]]></dc:creator>
		<pubDate>Wed, 17 Oct 2012 11:58:04 +0000</pubDate>
				<category><![CDATA[PHPの基礎]]></category>
		<guid isPermaLink="false">http://php1st.com/?p=985</guid>

					<description><![CDATA[要点のまとめ ・条件分岐 &#8212; 条件に応じて別の処理を実行する ・if文 &#8212; ～ならば～する 　　例：aとbが一致する場合はメッセージを表示する 　　「それ以外」の記述 &#8212; else、e [&#8230;]]]></description>
										<content:encoded><![CDATA[<h2>要点のまとめ</h2>
<div class="pt">
・条件分岐 &#8212; 条件に応じて別の処理を実行する<br />
・if文 &#8212; ～ならば～する<br />
　　例：aとbが一致する場合はメッセージを表示する<br />
　　「それ以外」の記述 &#8212; else、elseif<br />
　　「～でなければ」（否定演算子の「!」と共に） &#8212; if (!条件)<br />
　　　　例：ファイルが存在しない場合はエラー<br />
・switch文 &#8212; 指定値にあてはまるか調べる<br />
　　例：1が出たら大吉、2は中吉、3は小吉 &#8230;<br />
　　分岐条件が多い場合はif文ではなくswitch文でスッキリまとめる<br />
　　どれにもあてはまらないケース（default）も作成<br />
・3項演算子 &#8212; 条件分岐を簡単に記述できる<br />
　　例：aの場合はb、それ以外はc &#8212; 「a ? b : c」
</div>
<p><span id="more-985"></span><br />
　条件分岐とは、「ある条件を満たすときは処理A、それ以外は処理Bを実行する」のように条件に応じて処理を切り替える仕組みです。if文やswitch文を使用して記述します。</p>
<h2>if文（～ならば～する）</h2>
<p>　ある条件を満たす場合に処理を実行する場合は、if文を使用します。次のような構文で条件と処理を記述し、if（～ならば）、else（それ以外は）、elseif （それ以外で～ならば）を組み合わせて条件を作成することができます。</p>
<pre class="brush: php; title: ○条件1を満たす場合は処理Aを実行する; notranslate">
if (条件1) {
    処理A
}
</pre>
<pre class="brush: php; title: ○条件1を満たす場合は処理A、それ以外は処理Bを実行する; notranslate">
if (条件1) {
    処理A
} else {
    処理B
}
</pre>
<pre class="brush: php; title: ○条件1～条件3を満たすか調べて該当する処理を実行する; notranslate">
if (条件1) {
    処理A
} elseif (条件2) {
    処理B
} elseif (条件3) {
    処理C
} else {
    処理D
}
</pre>
<p>　次の例では、$pointが80以上、70以上、60以上かどうかの場合は「合格」、それ以外は「不合格」と表示されます。</p>
<pre class="brush: php; title: ○if文の使用例; notranslate">
&lt;?php
$point = 80;
if ($point &gt;= 60) {
    echo &quot;合格&quot;;
} else {
    echo &quot;不合格&quot;;
}
?&gt;
</pre>
<p>○実行結果</p>
<div class="cd">
合格
</div>
<p>　elseifを使用すると、「それ以外で～の場合は処理X、それ以外で～の場合は処理Y、、、」のように果てしなく条件を追加できますが、見通しが悪くなるので、条件が多い場合はswitch文でスッキリまとめた方が良いでしょう。</p>
<h2>条件の記述</h2>
<p>　if文の条件の記述例を以下に示します。</p>
<p>○条件の記述例<br />
if ($a == &#8220;x&#8221;) → 一致するか<br />
if ($a === $b) → 型も含めて一致するか<br />
if ($a != &#8220;x&#8221;) → ～ではない（不一致）<br />
if ($a > 10) → 大小比較<br />
if ($a == true) → 式が真（true）<br />
if ($a) → 「== true」の省略表記<br />
if (empty($a)) → true/falseを返す関数を利用<br />
if (!file_exists(&#8220;x.txt&#8221;)) → 式がfalse（そう言えない：偽）</p>
<p>　「$aがtrue（そう言える：真）かどうか」を調べる場合は、「if ($a == true) 」と記述しますが、「== true」を省略して「if ($a) 」とすることもできます。trueまたはfalseを返す関数をif文の条件に組み込んだ「if (empty($a))」のような記述もよく使われます。この場合、$aが空の場合（empty）は処理が実行されます。<br />
　否定演算子「!」を使用して、条件がfalseの場合は処理を実行するという記述もできます。たとえば、「if (!file_exists(&#8220;x.txt&#8221;))」と記述すると、ファイルが存在しない場合のみに処理を実行することができます（ファイルが存在しない場合はfile_exists関数はfalseを返す）。</p>
<h2>switch文（指定値にあてはまるか調べる）</h2>
<p>　　「変数$aが1の場合は大吉、2は中吉、3は小吉」のように、変数値に応じて処理を切り替えたい場合はswitch文を使用します。分岐条件が多い場合はif文で記述するよりもスッキリまとまります。<br />
　 調べる変数について「値1の場合は処理A、値2の場合は処理B」を記述するには、「switch (変数)」に指定された変数と照合する値をcaseに指定します。その値と一致する場合は、処理が実行されます。このとき、次のcaseの前に「break;」（switch文から抜ける）と記述して、次のcaseを参照しないようにする必要があります。また、どのcaseにも一致しなかった場合も想定して、「default」にデフォルトの動作を記述しておく必要もあります。</p>
<pre class="brush: php; title: ○switch文の構造; notranslate">
switch (変数) {
    case 値1:
        処理A
        break;
    case 値2:
        処理B
        break;
    default:
        echo &quot;ハズレ&quot;;
}
</pre>
<p>　switchの使用例を以下に示します。ランダムに取得した数値に応じて、「大当たり」「中当たり」「ハズレ」を表示するおみくじのようなものです。</p>
<pre class="brush: php; title: ○switch文の使用例（おみくじ）; notranslate">
&lt;?php
$a = mt_rand(1, 5);
switch ($a) {
    case 1:
        echo &quot;大当たり&quot;;
        break;
    case 2:
        echo &quot;中当たり&quot;;
        break;
    default:
        echo &quot;ハズレ&quot;;
}
?&gt;
</pre>
<p>○実行結果</p>
<div class="cd">
ハズレ
</div>
<h2>3項演算子</h2>
<p>　3項演算子を使用すると、条件分岐を簡単に記述できます。たとえば、「aの場合はb、それ以外はc」という処理は、「a ? b : c」と記述します。次の例では、$intが80以上の場合は「合格」、それ以外は「不合格」が表示されます。 </p>
<pre class="brush: php; title: ○3項演算子の使用例; notranslate">
&lt;?php
$int = 100;
$result = $int &gt;= 80 ? &quot;合格&quot; : &quot;不合格&quot;;
echo $result;
?&gt;
</pre>
<p>○実行結果</p>
<div class="cd">
合格
</div>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>処理の繰り返し</title>
		<link>https://php1st.com/976</link>
		
		<dc:creator><![CDATA[西沢直木]]></dc:creator>
		<pubDate>Wed, 17 Oct 2012 11:49:07 +0000</pubDate>
				<category><![CDATA[PHPの基礎]]></category>
		<guid isPermaLink="false">http://php1st.com/?p=976</guid>

					<description><![CDATA[要点のまとめ ・ループ（処理の繰り返し） &#8212; 条件を満たす間、処理を繰り返す ・for文 &#8212; 繰り返し回数が決まっている場合 　　例：1月から12月まで出力 ・while文 &#8212; 条件を [&#8230;]]]></description>
										<content:encoded><![CDATA[<h2>要点のまとめ</h2>
<div class="pt">
・ループ（処理の繰り返し） &#8212; 条件を満たす間、処理を繰り返す<br />
・for文 &#8212; 繰り返し回数が決まっている場合<br />
　　例：1月から12月まで出力<br />
・while文 &#8212; 条件を満たす間繰り返し<br />
　　例：ファイルを先頭から最後の行まで処理<br />
　　while(条件)、do～while(条件)<br />
・foreach文 &#8212; 配列の反復処理<br />
・ループ中の処理制御<br />
　　break &#8212; ループを抜ける（「while (1)」との組み合わせでも役立つ）<br />
　　continue &#8212; ループの先頭に戻って処理を続ける<br />
・終了条件を確かめること &#8212; 無限ループしないように<br />
　　自信がない場合 &#8212; php.iniで「max_execution_time = 1」（最大実行時間を制限）
</div>
<p><span id="more-976"></span><br />
　処理の繰り返し（ループ）には、指定回数だけ処理を繰り返すものと、ある条件を満たすまで処理を継続するものがあります。記述するための構文はいくつかあるので、用途に応じて適した構文を使用します。ここでは、代表的なパターンのみを紹介します。処理の繰り返しでは、ループが終了しなくなる無限ループに注意し、ループを途中で抜けるための構文もおさえておくと便利です。</p>
<h2>for文（一定回数の繰り返し）</h2>
<p>　「処理を5回繰り返す」のように繰り返す回数が決まっている場合は、for文を使用します。$iというカウンタと共に使用するのが典型的で、カウンタに初期値を設定して1回処理するごとに1を加算し、指定回数だけ繰り返された時点でループを抜けます。次のように、「for (初期値を設定; 終了条件; カウンタの増分) {繰り返す処理}」という構文で記述します。</p>
<pre class="brush: php; title: ○処理の繰り返し（for文の使用例）; notranslate">
&lt;?php
for ($i = 1; $i &lt;= 5; $i++) {
    echo $i;
}
?&gt;
</pre>
<p>○実行結果</p>
<div class="cd">
12345
</div>
<div class="pt">
　「カウンタの増分」に記述された「$i++」は$iに1を加算するという意味です（「++」は「加算子」と呼ばれる）。このように1ずつ加算するのが典型的ですが、加減する値は任意で構いません。
</div>
<h2>while文（指定条件を満たすまで処理を継続）</h2>
<p>　「ファイルを先頭から終端まで処理する」のように、ある条件を満たすまで処理を繰り返す場合は、while文を使用します。「while (条件) 」という構文の条件を満たさなくなった時点（条件がfalseになった時点）でループが終了します。一定回数繰り返してループを抜けるわけではないので、無限ループしないように、何らかのタイミングで「条件」がfalseになるように終了条件を制御する必要があります。<br />
　次の例では、2010年の2月の日付を一覧表示しています。「2010年2月29日」のように無効な日付になると、日付の妥当性をチェックするcheckdate関数がfalseを返すことを、ループの終了条件として利用しています。</p>
<pre class="brush: php; title: ○処理の繰り返し（while文の使用例）; notranslate">
&lt;?php
$d = 1;
while (checkdate(2, $d, 2010)) {
    echo $d . &quot;&lt;br /&gt;&quot;;
    $d++;
}
?&gt;
</pre>
<p>○実行結果</p>
<div class="cd">
1<br />
2<br />
3<br />
～～～（省略）～～～<br />
26<br />
27<br />
28
</div>
<h2>foreach文（一括処理）</h2>
<p>　まとまった値を一括で処理するという処理の繰り返しも可能です。それには、foreach文などを使用する方法があります。配列については後ほど説明します。</p>
<pre class="brush: php; title: ○配列の一括処理（foreach文の使用例）; notranslate">
&lt;?php
$ar = array(&quot;t&quot;=&gt;&quot;東京&quot;, &quot;c&quot;=&gt;&quot;千葉&quot;, &quot;k&quot;=&gt;&quot;神奈川&quot;);
foreach ($ar as $key =&gt; $value) {
    echo &quot;$key ： $value &lt;br /&gt;&quot;;
} 
?&gt;
</pre>
<p>○実行結果</p>
<div class="cd">
t ： 東京<br />
c ： 千葉<br />
k ： 神奈川
</div>
<h2>break文（ループを途中で終了）</h2>
<p>　ループを途中で抜けたい場合は、break文を使用します。ある条件に該当するタイミングで「break;」と記述します。次の例では、$iが3より大きくなった時点でループが終了するので、実行結果には1～3までしか表示されません。</p>
<pre class="brush: php; title: ○ループを途中で抜ける; notranslate">
&lt;?php
for ($i = 1; $i &lt;= 5; $i++) {
    if ($i &gt; 3) {
        break;
    }
    echo $i;
}
?&gt;
</pre>
<p>○実行結果</p>
<div class="cd">
123
</div>
<h2>「while(1)」によるループ</h2>
<p>　break文とwhile文を組み合わせて、「ある条件を満たした場合はループを抜ける」というループを組み立てることもできます。次の例の「while (1) 」によって、while文の「条件」 は常に満たされるので、このループは、break文などでループを抜けるまで続くことになります。次の例では、ランダムに取得した数値が5より大きかった場合はループを抜けます。</p>
<pre class="brush: php; title: ○条件を満たすまでループを継続; notranslate">
&lt;?php
while (1) {
    $a = mt_rand(0, 10);
    echo $a . &quot;&lt;br /&gt;&quot;;
    if ($a &gt; 5) {break;}
}
?&gt;
</pre>
<p>○実行結果</p>
<div class="cd">
4<br />
5<br />
9
</div>
<div class="pt">
　mt_rand関数はランダムな数値を取得する関数で、「mt_rand(0, 10)」と記述すると、0から10までの範囲で数値がランダムに返されます。
</div>
<h2>continue文（今回の処理をスキップ）</h2>
<p>　ループ中に特定の条件を満たした場合のみ処理をスキップ（省略）する場合は、continue文を使用します。次の例では、$iが3の場合は処理がスキップされるので、3だけが出力されません。</p>
<pre class="brush: php; title: ○今回の処理をスキップ; notranslate">
&lt;?php
for ($i = 1; $i &lt;= 5; $i++) {
    if ($i == 3) {
        continue;
    }
    echo $i;
}
?&gt;
</pre>
<p>○実行結果</p>
<div class="pt">
1245
</div>
<h2>無限ループの回避</h2>
<p>　処理を繰り返す場合は、いつまでもループが終了しない「無限ループ」の状態を避ける必要があります。終了条件を適切に設定していないと無限ループに陥りますが、テスト中や、少し変わったプログラムを試作している場合などには、ループが終了しないこともあるでしょう。<br />
　無限ループが気になる場合は、最大実行時間を設定できるmax_execution_timeという設定項目が役立ちます。実際には、XAMPPではこの設定項目が60秒に設定されているので、永久に処理が終わらないことはないでしょうが、自信がない場合や、万が一のことを考えて、「max_execution_time = 1」（1秒）のようにある程度短めに設定しておくと良いかもしれません。レンタルサーバーなどでphp.iniを変更できない場合は、ini_set関数で設定する方法があります。</p>
<pre class="brush: php; title: ○最大実行時間を20秒に設定; notranslate">
ini_set(&quot;max_execution_time&quot;, 20);
</pre>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>変数</title>
		<link>https://php1st.com/952</link>
		
		<dc:creator><![CDATA[西沢直木]]></dc:creator>
		<pubDate>Wed, 17 Oct 2012 11:30:17 +0000</pubDate>
				<category><![CDATA[PHPの基礎]]></category>
		<guid isPermaLink="false">http://php1st.com/?p=952</guid>

					<description><![CDATA[要点のまとめ ・変数とは &#8212; 値を格納（代入）する箱のようなもの 　　「$string = &#8220;abc&#8221;;」 → $stringという名前の変数に「abc」という文字列を格納 ・変数名  [&#8230;]]]></description>
										<content:encoded><![CDATA[<h2>要点のまとめ</h2>
<div class="pt">
・変数とは &#8212; 値を格納（代入）する箱のようなもの<br />
　　「$string = &#8220;abc&#8221;;」 → $stringという名前の変数に「abc」という文字列を格納<br />
・変数名 &#8212; ドル記号（$）＋任意の名前<br />
　　大文字と小文字は区別される &#8212; $aと$Aは別の変数<br />
　　文字またはアンダースコア（_）で始まり、文字、数字、アンダースコアで構成<br />
　　（例：$abcは使えるが、$123はエラー）<br />
・型 &#8212; データ型の指定は不要（Javaでは「String s = &#8220;abc&#8221;;」のように型を定義）<br />
　　型の自動変換機能に注意 &#8212; （例：「if (&#8220;1円&#8221; == 1)」はtrueとなる）<br />
　　比較演算子「===」 &#8212; 型を含めて比較（例： 「if (&#8220;1円&#8221; === 1)」 ）<br />
・変数の出力<br />
　　&#8221;$temp&#8221;（変数値の出力）／&#8217;$temp&#8217;（変数名の出力）の違い<br />
　　ショートタグ（<?= $aaa ?>）は使わない → 「<?php echo $aaa ?>」とする<br />
・変数の結合<br />
　　結合演算子「.」 （例：$a . &#8220;＠&#8221; . $b）<br />
　　結合代入演算子「.=」<br />
・変数の有効範囲（変数のスコープ） &#8212; 変数が使用可能な範囲のこと<br />
　　・グローバルスコープ &#8212; スクリプト全体で有効<br />
　　　　グローバル変数があちこちに増えると収拾がつかなくなるので注意<br />
　　・ローカルスコープ &#8212; 一部で有効（ユーザ定義関数の中など）<br />
　　・スーパーグローバル &#8212; フォーム入力値などが含まれるPHP特有の変数<br />
　　　　$_GET、$_POST、$_SESSION → 「フォームとの連携」で説明<br />
　　※詳しくは「ユーザ定義関数」を参照
</div>
<p><span id="more-952"></span></p>
<p>　変数とは、文字列や数値などの値を入れておく箱のようなものです。何度も同じ値を「echo &#8220;テスト&#8221;;」のように直接記述するとメンテナンスが面倒になるので、変数に値を格納（代入）しておき、必要に応じて参照したり更新します。</p>
<h2>変数の使用例</h2>
<p>　変数の使用例を以下に示します。ここでは、$aのような簡素な名前の変数を使用していますが、実際には$pageや$titleのように、できるだけ意味のわかる変数名を付けておいた方が無難です。</p>
<pre class="brush: php; title: ○変数の使用例; notranslate">
&lt;?php
$a = &quot;千葉県&quot;;
echo $a;
?&gt;
</pre>
<p>○実行結果</p>
<div class="cd">
千葉県
</div>
<h2>変数名</h2>
<p>　変数名の付け方にはルールがあります。「$」で始まり文字またはアンダースコア（_）が続き、文字、数字、アンダースコアで構成されます。たとえば、「$1st」のような変数名は使用できません。また、大文字と小文字は区別されます。</p>
<pre class="brush: php; title: ○エラーになる変数名; notranslate">
&lt;?php
$1st = &quot;千葉&quot;;
echo $1st;
?&gt;
</pre>
<p>○実行結果</p>
<div class="cd">
Parse error: syntax error &#8230;
</div>
<h2>参照の代入</h2>
<p>　変数の前に「&#038;」を付加して別の変数に代入すると、その変数の内容がコピーされるのではなく、参照が代入されます。つまり、元の変数と連動して値が変更されます。次の例では、$aの参照を$bに代入しているので、$aの値を変更すると、$bの値も変更されます。</p>
<pre class="brush: php; title: ○参照の代入; notranslate">
&lt;?php
$a = &quot;aaa&quot;;
$b = &amp;$a;
$a = &quot;bbb&quot;;

echo $a;
echo $b;
?&gt;
</pre>
<p>○実行結果</p>
<div class="cd">
bbbbbb
</div>
<h2>変数のデータ型の自動変換</h2>
<p>　PHPの変数は、文字列なのか数値なのかを示すデータ型を指定せずに使用できます。これは、PHPが文脈に合わせてデータ型を判断してくれるからです。これは便利ですが、注意も必要です。たとえば、数値と文字列の変数を、データ型をどちらかに統一せずに比較すると、PHPによってどちらも数値に自動変換されて比較されます。次の例では、「==」という比較演算子を使用して「$aが$bと一致するか」を検査していますが、データ型の自動変換によって「1円」が数値の「1」と一致してしまいます。これを避けるには、データ型も含めて比較する演算子「===」を使用します。</p>
<pre class="brush: php; title: ○型の自動変換に注意; notranslate">
&lt;?php
$a = &quot;1円&quot;;
$b = 1;

// 型が自動変換される
if ($a == $b) {
    echo &quot;一致&quot;;
}

// データ型も含めて比較
if ($a === $b) {
    echo &quot;データ型も一致&quot;;
}
?&gt;
</pre>
<p>○実行結果</p>
<div class="cd">
一致
</div>
<h2>変数の出力</h2>
<p>　変数をダブルクォーテーション（&#8221;）で囲むと変数値が出力され、シングルクォーテーション（&#8217;）で囲むと変数名が出力されます。ダブルクォーテーションで変数を囲んで文字列と変数値を混在させる場合は、変数名の区切りを明確にできるように「千葉県{$b}」と変数名を波括弧で囲むこともできます。</p>
<pre class="brush: php; title: ○変数の出力; notranslate">
&lt;?php
$a = &quot;千葉県&quot;;
$b = &quot;柏市&quot;;
echo &quot;千葉県$b&quot; . &quot;&lt;br /&gt;&quot;;
echo &quot;千葉県{$b}に住んでいます&quot; . &quot;&lt;br /&gt;&quot;;
echo '千葉県$b';
?&gt;
</pre>
<p>○実行結果</p>
<div class="cd">
千葉県柏市<br />
千葉県柏市に住んでいます<br />
千葉県$b
</div>
<p>　変数はショートタグ（例：「<?= $aaa ?>」）という簡易的な記述法で出力することもできますが、その方法はXMLのタグと混在すると問題が発生するので、使わないようにしましょう。</p>
<h2>変数の結合</h2>
<p>　変数は結合演算子「.」を使用して結合することができます。例を以下に示します。</p>
<pre class="brush: php; title: ○変数の結合; notranslate">
&lt;?php
$a = &quot;千葉県&quot;;
$b = &quot;柏市&quot;;
echo $a . $b;
?&gt;
</pre>
<p>○実行結果</p>
<div class="cd">
千葉県柏市
</div>
<p>　結合代入演算子「.=」を使用しても文字列や変数を結合することができます。1つの変数の最後尾に、次々に文字列や変数の内容を追加していくイメージです。</p>
<pre class="brush: php; title: ○結合代入演算子の使用例; notranslate">
&lt;?php
$a = &quot;千葉県&quot;;
$a .= &quot;柏市&quot;;
echo $a;
?&gt;
</pre>
<p>○実行結果</p>
<div class="cd">
千葉県柏市
</div>
<h2>変数の有効範囲</h2>
<p>　変数には有効範囲があります。これについては「ユーザ定義関数」の中で説明します。</p>
]]></content:encoded>
					
		
		
			</item>
	</channel>
</rss>
