<?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/code/feed" rel="self" type="application/rss+xml" />
	<link>https://php1st.com</link>
	<description>気軽に読めるPHP入門書・PHPスクリプトが動かないときの原因と対策などを紹介します。</description>
	<lastBuildDate>Tue, 10 Jul 2018 02:24:53 +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でアラートを表示する</title>
		<link>https://php1st.com/2535</link>
		
		<dc:creator><![CDATA[西沢直木]]></dc:creator>
		<pubDate>Tue, 10 Jul 2018 02:24:53 +0000</pubDate>
				<category><![CDATA[PHPサンプルコード]]></category>
		<guid isPermaLink="false">https://php1st.com/?p=2535</guid>

					<description><![CDATA[PHPでアラートを表示する方法を紹介します。 jQuery（JavaScript）のアラートと同じことがPHPでもできないか、というイメージですが、JavaScriptのアラート（alert）はクライアント側で実行されて [&#8230;]]]></description>
										<content:encoded><![CDATA[<p>PHPでアラートを表示する方法を紹介します。</p>
<p>jQuery（JavaScript）のアラートと同じことがPHPでもできないか、というイメージですが、JavaScriptのアラート（alert）はクライアント側で実行されています。</p>
<p>PHPはサーバー側のプログラミング言語なので、JavaScriptのalertと同じような命令はありません。同じことをしたい場合は、PHPからJavaScriptを出力する方法があります。</p>
<pre class="brush: php; gutter: false; title: PHPでアラートを表示する; notranslate">
&lt;?php
echo &quot;&lt;script&gt;alert('テスト');&lt;/script&gt;&quot;;
?&gt;
</pre>
<p>これにより、アラートダイアログが表示されます。</p>
<div id="attachment_2536" style="width: 333px" class="wp-caption alignnone"><img fetchpriority="high" decoding="async" aria-describedby="caption-attachment-2536" src="https://php1st.com/wp-content/uploads/2018/07/2018-07-10-11-10-31.jpg" alt="アラートダイアログが表示される" width="323" height="190" class="size-full wp-image-2536" srcset="https://php1st.com/wp-content/uploads/2018/07/2018-07-10-11-10-31.jpg 323w, https://php1st.com/wp-content/uploads/2018/07/2018-07-10-11-10-31-300x176.jpg 300w" sizes="(max-width: 323px) 100vw, 323px" /><p id="caption-attachment-2536" class="wp-caption-text">アラートダイアログが表示される</p></div>
<p>文字リテラルの中でHTMLを編集しづらければヒアドキュメントで出力しても良いかもしれません。</p>
<pre class="brush: php; gutter: false; title: ヒアドキュメントでアラートを表示する; notranslate">
&lt;?php
echo &lt;&lt;&lt;EOM
&lt;script&gt;alert('テスト');&lt;/script&gt;
EOM;
?&gt;
</pre>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>ランダムなパスワードを自動生成する</title>
		<link>https://php1st.com/1875</link>
		
		<dc:creator><![CDATA[西沢直木]]></dc:creator>
		<pubDate>Wed, 17 Sep 2014 06:09:56 +0000</pubDate>
				<category><![CDATA[PHPサンプルコード]]></category>
		<guid isPermaLink="false">http://php1st.com/?p=1875</guid>

					<description><![CDATA[さまざまなサービスでユーザー登録時などに使えるパスワードを自動生成する方法はいくつかあります。しっかりしたライブラリもあるとは思いますが、ここでは手作りで英数字（大文字・小文字）を組み合わせてランダムにパスワードを生成す [&#8230;]]]></description>
										<content:encoded><![CDATA[<p>さまざまなサービスでユーザー登録時などに使えるパスワードを自動生成する方法はいくつかあります。しっかりしたライブラリもあるとは思いますが、ここでは手作りで英数字（大文字・小文字）を組み合わせてランダムにパスワードを生成するコードの例を紹介します。</p>
<p>仕組みは簡単で、大文字と小文字のアルファベットと0から9までの数字を配列に格納してシャッフル（ランダム順に並べ替え）して、先頭の8文字を取得しています｡</p>
<pre class="brush: php; title: 8文字のランダムなパスワードを自動生成する; notranslate">
&lt;?php
$num = 8; // パスワードの文字数
$ar1 = range('a', 'z'); // アルファベット小文字を配列に
$ar2 = range('A', 'Z'); // アルファベット大文字を配列に
$ar3 = range(0, 9); // 数字を配列に
$ar_all = array_merge($ar1, $ar2, $ar3); // すべて結合
shuffle($ar_all); // ランダム順にシャッフル
echo substr(implode($ar_all), 0, $num); // 先頭の8文字
?&gt;
</pre>
<p>○実行結果</p>
<pre class="res">
EbJtvsUT
</pre>
<p>ふわっと仕上げです。「記号も使いたい」など細かい希望もあると思いますので、あとは自由に調整してください。</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>配列をランダムに並べ替える（おみくじ・抽選プログラムを例に）</title>
		<link>https://php1st.com/1858</link>
		
		<dc:creator><![CDATA[西沢直木]]></dc:creator>
		<pubDate>Wed, 17 Sep 2014 03:19:44 +0000</pubDate>
				<category><![CDATA[PHPサンプルコード]]></category>
		<category><![CDATA[配列]]></category>
		<guid isPermaLink="false">http://php1st.com/?p=1858</guid>

					<description><![CDATA[配列要素をランダムな順番に並べ替えて表示したり、1つまたは複数の要素をランダムに取り出したいことがあります。 配列をランダムに並べ替える（おみくじ） 配列をランダム順に並べ替えるには、shuffle関数が役立ちます。簡単 [&#8230;]]]></description>
										<content:encoded><![CDATA[<p>配列要素をランダムな順番に並べ替えて表示したり、1つまたは複数の要素をランダムに取り出したいことがあります。</p>
<h2>配列をランダムに並べ替える（おみくじ）</h2>
<p>配列をランダム順に並べ替えるには、shuffle関数が役立ちます。簡単なおみくじの例を紹介します。定義した配列をshuffle関数でシャッフル（ランダム順に並べ替え）した後、先頭の要素を表示しています｡</p>
<pre class="brush: php; highlight: [3]; title: おみくじ（配列シャッフルの例）; notranslate">
&lt;?php
$ar = array(&quot;大吉&quot;, &quot;中吉&quot;, &quot;小吉&quot;, &quot;凶&quot;);
shuffle($ar);
echo $ar&#x5B;0];
?&gt;
</pre>
<p>○実行結果</p>
<pre class="res">
大吉
</pre>
<p>本当のおみくじは「凶が3割、大吉が2割」のように重みがついています。上記の配列は各要素が同じ確率で表示されますが、重みを付けるなら次のように要素数を増やす方法があります。</p>
<pre class="brush: php; highlight: [2]; title: 配列要素の出現率に重みを付ける; notranslate">
&lt;?php
$ar = array(&quot;大吉&quot;, &quot;中吉&quot;, &quot;小吉&quot;, &quot;凶&quot;, &quot;凶&quot;, &quot;凶&quot;);
shuffle($ar);
echo $ar&#x5B;0];
?&gt;
</pre>
<p>○実行結果</p>
<pre class="res">
凶
</pre>
<h2>配列インデックスをランダムに取得する（抽選プログラム）</h2>
<p>配列をシャッフルする代わりに配列のインデックスをランダムに取得する場合はarray_rand関数を使います。</p>
<pre class="brush: php; highlight: [3]; title: 配列インデックスをランダムに取得する; notranslate">
&lt;?php
$ar = array(&quot;大吉&quot;, &quot;中吉&quot;, &quot;小吉&quot;, &quot;凶&quot;);
$idx = array_rand($ar);
echo $ar&#x5B;$idx];
?&gt;
</pre>
<p>ここでは、ランダムに取得したインデックスを使って、その要素を表示しています｡</p>
<p>○実行結果</p>
<pre class="res">
大吉
</pre>
<p>2番目のパラメータに個数を指定すると複数のインデックスをランダムに取得できます。大勢の応募者からランダムに何人かの当選者を選ぶ抽選プログラムにも活用できます。</p>
<pre class="brush: php; highlight: [3]; title: ランダムに2人を選ぶ抽選プログラム; notranslate">
&lt;?php
$ar = array(&quot;田中次郎&quot;, &quot;鈴木一郎&quot;, &quot;高橋史郎&quot;, &quot;小林一郎&quot;);
$idx = array_rand($ar, 2);

$temp = &quot;当選は次の方です。&lt;br /&gt;&quot;;
foreach ($idx as $key) {
    $temp .= $ar&#x5B;$key] . &quot;&lt;br /&gt;&quot;;
}
echo $temp;
?&gt;
</pre>
<p>もちろん、実行ごとに当選者は変わります。</p>
<p>○実行結果</p>
<pre class="res">
当選は次の方です。
鈴木一郎
小林一郎
</pre>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>n番目の文字を取得する</title>
		<link>https://php1st.com/1819</link>
		
		<dc:creator><![CDATA[西沢直木]]></dc:creator>
		<pubDate>Fri, 05 Sep 2014 02:24:08 +0000</pubDate>
				<category><![CDATA[PHPサンプルコード]]></category>
		<guid isPermaLink="false">http://php1st.com/?p=1819</guid>

					<description><![CDATA[文字列に含まれる文字の位置を[3]のように指定することでn番目の文字を簡単に取得できます。以下は「ABCDEFG」の3番目の文字を取得する例です。 &#60;?php $str = &#34;ABCDEFG&#34;; [&#8230;]]]></description>
										<content:encoded><![CDATA[<p>文字列に含まれる文字の位置を[3]のように指定することでn番目の文字を簡単に取得できます。以下は「ABCDEFG」の3番目の文字を取得する例です。</p>
<pre class="brush: php; title: n番目の文字を取得する; notranslate">
&lt;?php
$str = &quot;ABCDEFG&quot;;
echo $str&#x5B;2];
?&gt;
</pre>
<p>先頭の文字は[0]で、この例では[2]によって3番目の「C」が返されます。</p>
<p>○実行結果</p>
<pre class="res">C</pre>
<p>角括弧の代わりに波括弧を使って「$str{2}」としても同じですが、<b>波括弧バージョンはPHP6で廃止される予定</b>です。</p>
<p>▼参考<br />
<a href="http://php.net/manual/ja/language.types.string.php" target="_blank">PHPリファレンス（文字列）</a></p>
<p>また、マルチバイト対応ではないので注意してください。</p>
<p>次のように文字の位置に文字列を指定すると警告が表示されます。</p>
<pre class="brush: php; title: 文字の位置に文字列を指定してみる; notranslate">
&lt;?php
$str = &quot;ABCDEFG&quot;;
echo $str&#x5B;&quot;CD&quot;];
?&gt;
</pre>
<p>○実行結果</p>
<pre class="res">
Warning: Illegal string offset 'CD'…略…
A</pre>
<p>警告は表示されますが文字列が[0]に変換されて先頭の文字が返されるので注意しましょう。</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>13日の金曜日を表示する</title>
		<link>https://php1st.com/1635</link>
		
		<dc:creator><![CDATA[西沢直木]]></dc:creator>
		<pubDate>Tue, 03 Sep 2013 11:26:52 +0000</pubDate>
				<category><![CDATA[PHPサンプルコード]]></category>
		<guid isPermaLink="false">http://php1st.com/?p=1635</guid>

					<description><![CDATA[西暦2000年から2037年あたりまでの13日の金曜日をリストアップするコードです。何の役に立つのかわかりませんが、別のサイトで使ったので掲載しておきます。 &#60;?php $start = 2000; $ybak = [&#8230;]]]></description>
										<content:encoded><![CDATA[<p>西暦2000年から2037年あたりまでの13日の金曜日をリストアップするコードです。何の役に立つのかわかりませんが、別のサイトで使ったので掲載しておきます。</p>
<pre class="brush: php; title: 13日の金曜日をリストアップする; notranslate">
&lt;?php
$start = 2000;
$ybak = 0;
for ($i = 0; $i &lt; 13850; $i++) {
    $time = mktime(0, 0, 0, 1, 1 + $i, $start);
    $y = date(&quot;Y&quot;, $time);
    if ($y != $ybak) {
        $ybak = $y;
        echo PHP_EOL;
        echo date(&quot;Y&quot;, $time). &quot;年：&quot;;
    }
    if (date(&quot;d&quot;, $time) == 13 &amp;&amp; date(&quot;w&quot;, $time) == 5) {
        echo date(&quot;n月d日&quot;, $time). &quot;　&quot;;
    }
}
?&gt;
</pre>
<p>○実行結果</p>
<div class="cd">
&#8230;略&#8230;<br />
2012年：1月13日　4月13日　7月13日　<br />
2013年：9月13日　12月13日　<br />
2014年：6月13日　<br />
2015年：2月13日　3月13日　11月13日　<br />
2016年：5月13日<br />
&#8230;略&#8230;
</div>
]]></content:encoded>
					
		
		
			</item>
	</channel>
</rss>
