<?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>foreach | Seek Rise</title>
	<atom:link href="https://seek-rise.com/tag/foreach/feed/" rel="self" type="application/rss+xml" />
	<link>https://seek-rise.com</link>
	<description></description>
	<lastBuildDate>Wed, 31 Dec 2025 07:41:06 +0000</lastBuildDate>
	<language>ja</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.9.1</generator>

<image>
	<url>https://seek-rise.com/wp-content/uploads/2019/10/cropped-favicon-32x32.png</url>
	<title>foreach | Seek Rise</title>
	<link>https://seek-rise.com</link>
	<width>32</width>
	<height>32</height>
</image> 
<atom:link rel="hub" href="https://pubsubhubbub.appspot.com"/><atom:link rel="hub" href="https://pubsubhubbub.superfeedr.com"/><atom:link rel="hub" href="https://websubhub.com/hub"/><site xmlns="com-wordpress:feed-additions:1">167377966</site>	<item>
		<title>6-7 PHPで配列を扱う基本（array / 連想配列）</title>
		<link>https://seek-rise.com/web-development/php-basic/post-423/</link>
					<comments>https://seek-rise.com/web-development/php-basic/post-423/#respond</comments>
		
		<dc:creator><![CDATA[NOA（ノア）]]></dc:creator>
		<pubDate>Mon, 22 Dec 2025 13:18:12 +0000</pubDate>
				<category><![CDATA[Web開発学習ロードマップ]]></category>
		<category><![CDATA[6.PHP基礎]]></category>
		<category><![CDATA[Web開発]]></category>
		<category><![CDATA[初心者]]></category>
		<category><![CDATA[PHP基礎]]></category>
		<category><![CDATA[foreach]]></category>
		<category><![CDATA[PHP配列]]></category>
		<category><![CDATA[連想配列]]></category>
		<guid isPermaLink="false">https://seek-rise.com/?p=423</guid>

					<description><![CDATA[前の記事では、for / foreach を使った繰り返し処理 を学びました。 その中で何度も登場したのが、配列 です。 実際のWeb開発では、 ・フォームの入力値・エラーメッセージ・データベースから取得したデータ など [&#8230;]]]></description>
										<content:encoded><![CDATA[<p data-start="235" data-end="281">前の記事では、<br data-start="242" data-end="245" /><strong data-start="245" data-end="273">for / foreach を使った繰り返し処理</strong> を学びました。</p>
<p data-start="283" data-end="310">その中で何度も登場したのが、<br data-start="297" data-end="300" /><strong data-start="300" data-end="306">配列</strong> です。</p>
<p data-start="312" data-end="323">実際のWeb開発では、</p>
<p data-start="325" data-end="367">・フォームの入力値<br data-start="334" data-end="337" />・エラーメッセージ<br data-start="346" data-end="349" />・データベースから取得したデータ</p>
<p data-start="369" data-end="399">など、<br data-start="372" data-end="375" /><strong data-start="375" data-end="399">ほとんどのデータが配列として扱われます。</strong></p>
<p data-start="401" data-end="429">この記事では、<br data-start="408" data-end="411" />PHPで配列を扱うための基礎として、</p>
<p data-start="431" data-end="462">・配列とは何か<br data-start="438" data-end="441" />・配列の作り方<br data-start="448" data-end="451" />・配列の取り出し方</p>
<p data-start="464" data-end="481">を、実際に動くコードで整理します。</p>
<hr data-start="483" data-end="486" />

  <div id="toc" class="toc tnt-number toc-center tnt-number border-element"><input type="checkbox" class="toc-checkbox" id="toc-checkbox-2" checked><label class="toc-title" for="toc-checkbox-2">目次</label>
    <div class="toc-content">
    <ol class="toc-list open"><li><a href="#toc1" tabindex="0">この記事で学べること</a></li><li><a href="#toc2" tabindex="0">配列とは何か</a></li><li><a href="#toc3" tabindex="0">インデックス配列とは</a><ol><li><a href="#toc4" tabindex="0">サンプルコード①：インデックス配列</a></li><li><a href="#toc5" tabindex="0">コードの読み解き</a></li></ol></li><li><a href="#toc6" tabindex="0">配列の中身をすべて表示する</a><ol><li><a href="#toc7" tabindex="0">サンプルコード②：配列を順番に表示</a></li></ol></li><li><a href="#toc8" tabindex="0">連想配列とは</a></li><li><a href="#toc9" tabindex="0">連想配列の基本</a><ol><li><a href="#toc10" tabindex="0">サンプルコード③：連想配列</a></li><li><a href="#toc11" tabindex="0">コードの読み解き</a></li></ol></li><li><a href="#toc12" tabindex="0">連想配列を foreach で扱う</a><ol><li><a href="#toc13" tabindex="0">サンプルコード④：キーと値を同時に使う</a></li></ol></li><li><a href="#toc14" tabindex="0">実務での配列の使われ方</a></li><li><a href="#toc15" tabindex="0">配列と条件分岐・繰り返しの組み合わせ</a></li><li><a href="#toc16" tabindex="0">初心者がよくやるミス</a></li><li><a href="#toc17" tabindex="0">学習初期のおすすめ練習</a></li><li><a href="#toc18" tabindex="0">まとめ</a></li><li><a href="#toc19" tabindex="0">次に読むべき記事</a></li></ol>
    </div>
  </div>

<h2 data-start="488" data-end="501"><span id="toc1">この記事で学べること</span></h2>
<p data-start="503" data-end="569">・配列の基本的な考え方<br data-start="514" data-end="517" />・配列の作成方法<br data-start="525" data-end="528" />・インデックス配列と連想配列の違い<br data-start="545" data-end="548" />・foreach と組み合わせた使い方</p>
<hr data-start="571" data-end="574" />
<h2 data-start="576" data-end="585"><span id="toc2">配列とは何か</span></h2>
<p data-start="587" data-end="624">配列とは、<br data-start="592" data-end="595" /><strong data-start="595" data-end="620">複数の値を1つにまとめて扱うためのデータ型</strong> です。</p>
<p data-start="626" data-end="652">変数が<br data-start="629" data-end="632" />「1つの値を入れる箱」<br data-start="643" data-end="646" />だとすると、</p>
<p data-start="654" data-end="692">配列は<br data-start="657" data-end="660" />「複数の箱をまとめたもの」<br data-start="673" data-end="676" />と考えると分かりやすくなります。</p>
<hr data-start="694" data-end="697" />
<h2 data-start="699" data-end="712"><span id="toc3">インデックス配列とは</span></h2>
<p data-start="714" data-end="753">インデックス配列は、<br data-start="724" data-end="727" /><strong data-start="727" data-end="749">番号（0,1,2…）で管理される配列</strong> です。</p>
<h3 data-start="755" data-end="776"><span id="toc4">サンプルコード①：インデックス配列</span></h3>
<div class="contain-inline-size rounded-2xl corner-superellipse/1.1 relative bg-token-sidebar-surface-primary">
<pre class="overflow-y-auto p-4" dir="ltr"><code class="whitespace-pre! language-php"><span class="hljs-meta">&lt;?php</span>
<span class="hljs-variable">$fruits</span> = [<span class="hljs-string">'りんご'</span>, <span class="hljs-string">'みかん'</span>, <span class="hljs-string">'ばなな'</span>];

<span class="hljs-keyword">echo</span> <span class="hljs-variable">$fruits</span>[<span class="hljs-number">0</span>];
</code></pre>
</div>
<hr data-start="847" data-end="850" />
<h3 data-start="852" data-end="864"><span id="toc5">コードの読み解き</span></h3>
<p data-start="866" data-end="902">・$fruits<br data-start="874" data-end="877" />　→ 配列<br data-start="882" data-end="885" />・[0]<br data-start="889" data-end="892" />　→ 最初の要素</p>
<p data-start="904" data-end="938">配列の番号は、<br data-start="911" data-end="914" /><strong data-start="914" data-end="924">0から始まる</strong><br data-start="924" data-end="927" />点に注意してください。</p>
<hr data-start="940" data-end="943" />
<h2 data-start="945" data-end="961"><span id="toc6">配列の中身をすべて表示する</span></h2>
<p data-start="963" data-end="1004">配列は、<br data-start="967" data-end="970" />foreach と組み合わせることで<br data-start="988" data-end="991" />簡単に中身を処理できます。</p>
<h3 data-start="1006" data-end="1027"><span id="toc7">サンプルコード②：配列を順番に表示</span></h3>
<div class="contain-inline-size rounded-2xl corner-superellipse/1.1 relative bg-token-sidebar-surface-primary">
<pre class="overflow-y-auto p-4" dir="ltr"><code class="whitespace-pre! language-php"><span class="hljs-meta">&lt;?php</span>
<span class="hljs-variable">$fruits</span> = [<span class="hljs-string">'りんご'</span>, <span class="hljs-string">'みかん'</span>, <span class="hljs-string">'ばなな'</span>];

<span class="hljs-keyword">foreach</span> (<span class="hljs-variable">$fruits</span> <span class="hljs-keyword">as</span> <span class="hljs-variable">$fruit</span>) {
  <span class="hljs-keyword">echo</span> <span class="hljs-variable">$fruit</span> . <span class="hljs-string">'&lt;br&gt;'</span>;
}
</code></pre>
</div>
<hr data-start="1137" data-end="1140" />
<h2 data-start="1142" data-end="1151"><span id="toc8">連想配列とは</span></h2>
<p data-start="1153" data-end="1186">連想配列は、<br data-start="1159" data-end="1162" /><strong data-start="1162" data-end="1182">キーと値のセットで管理される配列</strong> です。</p>
<p data-start="1188" data-end="1220">名前や設定値など、<br data-start="1197" data-end="1200" />意味のあるデータを扱うときに使われます。</p>
<hr data-start="1222" data-end="1225" />
<h2 data-start="1227" data-end="1237"><span id="toc9">連想配列の基本</span></h2>
<h3 data-start="1239" data-end="1256"><span id="toc10">サンプルコード③：連想配列</span></h3>
<div class="contain-inline-size rounded-2xl corner-superellipse/1.1 relative bg-token-sidebar-surface-primary">
<pre class="overflow-y-auto p-4" dir="ltr"><code class="whitespace-pre! language-php"><span class="hljs-meta">&lt;?php</span>
<span class="hljs-variable">$user</span> = [
  <span class="hljs-string">'name'</span> =&gt; <span class="hljs-string">'太郎'</span>,
  <span class="hljs-string">'age'</span> =&gt; <span class="hljs-number">20</span>,
  <span class="hljs-string">'email'</span> =&gt; <span class="hljs-string">'test@example.com'</span>
];

<span class="hljs-keyword">echo</span> <span class="hljs-variable">$user</span>[<span class="hljs-string">'name'</span>];
</code></pre>
</div>
<hr data-start="1375" data-end="1378" />
<h3 data-start="1380" data-end="1392"><span id="toc11">コードの読み解き</span></h3>
<p data-start="1394" data-end="1426">・&#8217;name&#8217;<br data-start="1401" data-end="1404" />　→ キー<br data-start="1409" data-end="1412" />・&#8217;太郎&#8217;<br data-start="1417" data-end="1420" />　→ 値</p>
<p data-start="1428" data-end="1469">番号ではなく、<br data-start="1435" data-end="1438" /><strong data-start="1438" data-end="1450">意味のあるキー名</strong> で<br data-start="1452" data-end="1455" />データを扱えるのが特徴です。</p>
<hr data-start="1471" data-end="1474" />
<h2 data-start="1476" data-end="1496"><span id="toc12">連想配列を foreach で扱う</span></h2>
<p data-start="1498" data-end="1523">連想配列も、<br data-start="1504" data-end="1507" />foreach で処理できます。</p>
<h3 data-start="1525" data-end="1548"><span id="toc13">サンプルコード④：キーと値を同時に使う</span></h3>
<div class="contain-inline-size rounded-2xl corner-superellipse/1.1 relative bg-token-sidebar-surface-primary">
<pre class="overflow-y-auto p-4" dir="ltr"><code class="whitespace-pre! language-php"><span class="hljs-meta">&lt;?php</span>
<span class="hljs-variable">$user</span> = [
  <span class="hljs-string">'name'</span> =&gt; <span class="hljs-string">'太郎'</span>,
  <span class="hljs-string">'age'</span> =&gt; <span class="hljs-number">20</span>,
  <span class="hljs-string">'email'</span> =&gt; <span class="hljs-string">'test@example.com'</span>
];

<span class="hljs-keyword">foreach</span> (<span class="hljs-variable">$user</span> <span class="hljs-keyword">as</span> <span class="hljs-variable">$key</span> =&gt; <span class="hljs-variable">$value</span>) {
  <span class="hljs-keyword">echo</span> <span class="hljs-variable">$key</span> . <span class="hljs-string">'：'</span> . <span class="hljs-variable">$value</span> . <span class="hljs-string">'&lt;br&gt;'</span>;
}
</code></pre>
</div>
<hr data-start="1722" data-end="1725" />
<h2 data-start="1727" data-end="1741"><span id="toc14">実務での配列の使われ方</span></h2>
<p data-start="1743" data-end="1766">配列は、<br data-start="1747" data-end="1750" />次のような場面で必ず使われます。</p>
<p data-start="1768" data-end="1816">・フォーム入力値（$_POST）<br data-start="1784" data-end="1787" />・エラーメッセージの管理<br data-start="1799" data-end="1802" />・データベースの検索結果</p>
<p data-start="1818" data-end="1859">これらはすべて<br data-start="1825" data-end="1828" /><strong data-start="1828" data-end="1841">配列として扱われる</strong><br data-start="1841" data-end="1844" />という点を覚えておきましょう。</p>
<hr data-start="1861" data-end="1864" />
<h2 data-start="1866" data-end="1887"><span id="toc15">配列と条件分岐・繰り返しの組み合わせ</span></h2>
<p data-start="1889" data-end="1893">配列は、</p>
<p data-start="1895" data-end="1912">・条件分岐<br data-start="1900" data-end="1903" />・繰り返し処理</p>
<p data-start="1914" data-end="1942">と組み合わせて使うことで、<br data-start="1927" data-end="1930" />初めて実用的になります。</p>
<p data-start="1944" data-end="1983">次の記事では、<br data-start="1951" data-end="1954" />配列を使った<br data-start="1960" data-end="1963" /><strong data-start="1963" data-end="1976">フォームデータ処理</strong> に進みます。</p>
<hr data-start="1985" data-end="1988" />
<h2 data-start="1990" data-end="2003"><span id="toc16">初心者がよくやるミス</span></h2>
<p data-start="2005" data-end="2015">配列で多いミスです。</p>
<p data-start="2017" data-end="2070">・配列なのに echo しようとする<br data-start="2035" data-end="2038" />・存在しないキーを参照する<br data-start="2051" data-end="2054" />・配列と普通の変数を混同する</p>
<p data-start="2072" data-end="2101">「今扱っているのは配列か？」<br data-start="2086" data-end="2089" />を常に意識してください。</p>
<hr data-start="2103" data-end="2106" />
<h2 data-start="2108" data-end="2122"><span id="toc17">学習初期のおすすめ練習</span></h2>
<p data-start="2124" data-end="2148">次の練習をすると、<br data-start="2133" data-end="2136" />配列の理解が深まります。</p>
<p data-start="2150" data-end="2202">・配列を作って表示する<br data-start="2161" data-end="2164" />・foreach で一覧表示する<br data-start="2180" data-end="2183" />・連想配列を条件分岐と組み合わせる</p>
<hr data-start="2204" data-end="2207" />
<h2 data-start="2209" data-end="2215"><span id="toc18">まとめ</span></h2>
<p data-start="2217" data-end="2245">この記事では、<br data-start="2224" data-end="2227" />PHPで配列を扱うための基本として、</p>
<p data-start="2247" data-end="2285">・インデックス配列<br data-start="2256" data-end="2259" />・連想配列<br data-start="2264" data-end="2267" />・foreach との組み合わせ</p>
<p data-start="2287" data-end="2294">を学びました。</p>
<p data-start="2296" data-end="2339">配列が理解できると、<br data-start="2306" data-end="2309" />PHPのコードは<br data-start="2317" data-end="2320" />一気に「Webアプリらしく」なります。</p>
<hr data-start="2341" data-end="2344" />
<h2 data-start="2346" data-end="2357"><span id="toc19">次に読むべき記事</span></h2>
<p data-start="2359" data-end="2395">▶ 次の記事<br data-start="2365" data-end="2368" /><a href="https://seek-rise.com/web-development/php-basic/post-428/">6-8 PHPでフォームデータを受け取って表示する</a></p>
<p data-start="2397" data-end="2437">▶ 関連記事<br data-start="2403" data-end="2406" /><a href="https://seek-rise.com/web-development/php-basic/post-420/">6-6 PHPで繰り返し処理（for / foreach）</a></p>
]]></content:encoded>
					
					<wfw:commentRss>https://seek-rise.com/web-development/php-basic/post-423/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">423</post-id>	</item>
		<item>
		<title>6-6 PHPで繰り返し処理（for / foreach）</title>
		<link>https://seek-rise.com/web-development/php-basic/post-420/</link>
					<comments>https://seek-rise.com/web-development/php-basic/post-420/#respond</comments>
		
		<dc:creator><![CDATA[NOA（ノア）]]></dc:creator>
		<pubDate>Mon, 22 Dec 2025 13:07:38 +0000</pubDate>
				<category><![CDATA[Web開発学習ロードマップ]]></category>
		<category><![CDATA[6.PHP基礎]]></category>
		<category><![CDATA[Web開発]]></category>
		<category><![CDATA[初心者]]></category>
		<category><![CDATA[PHP基礎]]></category>
		<category><![CDATA[PHP繰り返し]]></category>
		<category><![CDATA[for]]></category>
		<category><![CDATA[foreach]]></category>
		<guid isPermaLink="false">https://seek-rise.com/?p=420</guid>

					<description><![CDATA[前の記事では、条件分岐（if / elseif / switch） を使って処理を分ける方法を学びました。 しかし実際のWeb開発では、 ・同じ処理を何度も行いたい・配列の中身を順番に処理したい といった場面が頻繁に出て [&#8230;]]]></description>
										<content:encoded><![CDATA[<p data-start="263" data-end="326">前の記事では、<br data-start="270" data-end="273" /><strong data-start="273" data-end="303">条件分岐（if / elseif / switch）</strong> を使って<br data-start="308" data-end="311" />処理を分ける方法を学びました。</p>
<p data-start="328" data-end="342">しかし実際のWeb開発では、</p>
<p data-start="344" data-end="377">・同じ処理を何度も行いたい<br data-start="357" data-end="360" />・配列の中身を順番に処理したい</p>
<p data-start="379" data-end="395">といった場面が頻繁に出てきます。</p>
<p data-start="397" data-end="432">そのようなときに使うのが、<br data-start="410" data-end="413" /><strong data-start="413" data-end="428">繰り返し処理（ループ）</strong> です。</p>
<p data-start="434" data-end="503">この記事では、<br data-start="441" data-end="444" />PHPで最もよく使われる<br data-start="456" data-end="459" /><strong data-start="459" data-end="476">for と foreach</strong> を中心に、<br data-start="482" data-end="485" />実際に動くコードで理解していきます。</p>
<hr data-start="505" data-end="508" />

  <div id="toc" class="toc tnt-number toc-center tnt-number border-element"><input type="checkbox" class="toc-checkbox" id="toc-checkbox-4" checked><label class="toc-title" for="toc-checkbox-4">目次</label>
    <div class="toc-content">
    <ol class="toc-list open"><li><a href="#toc1" tabindex="0">この記事で学べること</a></li><li><a href="#toc2" tabindex="0">繰り返し処理とは何か</a></li><li><a href="#toc3" tabindex="0">for 文の基本的な考え方</a></li><li><a href="#toc4" tabindex="0">for 文の基本構文</a><ol><li><a href="#toc5" tabindex="0">サンプルコード①：for 文の基本</a></li><li><a href="#toc6" tabindex="0">コードの読み解き</a></li></ol></li><li><a href="#toc7" tabindex="0">for 文は「回数で考える」</a></li><li><a href="#toc8" tabindex="0">配列と for 文（考え方だけ）</a></li><li><a href="#toc9" tabindex="0">foreach 文とは何か</a></li><li><a href="#toc10" tabindex="0">foreach の基本構文</a><ol><li><a href="#toc11" tabindex="0">サンプルコード②：foreach の基本</a></li><li><a href="#toc12" tabindex="0">コードの読み解き</a></li></ol></li><li><a href="#toc13" tabindex="0">配列処理は foreach が基本</a></li><li><a href="#toc14" tabindex="0">キーと値を同時に使う foreach</a><ol><li><a href="#toc15" tabindex="0">サンプルコード③：キー付き foreach</a></li><li><a href="#toc16" tabindex="0">実務での使いどころ</a></li></ol></li><li><a href="#toc17" tabindex="0">for と foreach の使い分け</a></li><li><a href="#toc18" tabindex="0">初心者がよくやるミス</a></li><li><a href="#toc19" tabindex="0">学習初期のおすすめ練習</a></li><li><a href="#toc20" tabindex="0">まとめ</a></li><li><a href="#toc21" tabindex="0">次に読むべき記事</a></li></ol>
    </div>
  </div>

<h2 data-start="510" data-end="523"><span id="toc1">この記事で学べること</span></h2>
<p data-start="525" data-end="592">・繰り返し処理とは何か<br data-start="536" data-end="539" />・for 文の基本構造<br data-start="550" data-end="553" />・foreach 文の使い方<br data-start="567" data-end="570" />・for と foreach の使い分け</p>
<hr data-start="594" data-end="597" />
<h2 data-start="599" data-end="612"><span id="toc2">繰り返し処理とは何か</span></h2>
<p data-start="614" data-end="656">繰り返し処理とは、<br data-start="623" data-end="626" /><strong data-start="626" data-end="652">同じ処理を条件が満たされるまで繰り返す仕組み</strong> です。</p>
<p data-start="658" data-end="662">例えば、</p>
<p data-start="664" data-end="694">・1〜10まで表示する<br data-start="675" data-end="678" />・配列の中身をすべて表示する</p>
<p data-start="696" data-end="724">といった処理を、<br data-start="704" data-end="707" />短いコードで書けるようになります。</p>
<hr data-start="726" data-end="729" />
<h2 data-start="731" data-end="747"><span id="toc3">for 文の基本的な考え方</span></h2>
<p data-start="749" data-end="785">for 文は、<br data-start="756" data-end="759" /><strong data-start="759" data-end="776">回数が決まっている繰り返し</strong> に向いています。</p>
<p data-start="787" data-end="804">構造は次の3つで成り立っています。</p>
<ol data-start="806" data-end="839">
<li data-start="806" data-end="814">
<p data-start="809" data-end="814">初期値</p>
</li>
<li data-start="815" data-end="826">
<p data-start="818" data-end="826">繰り返す条件</p>
</li>
<li data-start="827" data-end="839">
<p data-start="830" data-end="839">1回ごとの増減</p>
</li>
</ol>
<hr data-start="841" data-end="844" />
<h2 data-start="846" data-end="859"><span id="toc4">for 文の基本構文</span></h2>
<h3 data-start="861" data-end="882"><span id="toc5">サンプルコード①：for 文の基本</span></h3>
<div class="contain-inline-size rounded-2xl corner-superellipse/1.1 relative bg-token-sidebar-surface-primary">
<pre class="overflow-y-auto p-4" dir="ltr"><code class="whitespace-pre! language-php"><span class="hljs-meta">&lt;?php</span>
<span class="hljs-keyword">for</span> (<span class="hljs-variable">$i</span> = <span class="hljs-number">1</span>; <span class="hljs-variable">$i</span> &lt;= <span class="hljs-number">5</span>; <span class="hljs-variable">$i</span>++) {
  <span class="hljs-keyword">echo</span> <span class="hljs-variable">$i</span> . <span class="hljs-string">'&lt;br&gt;'</span>;
}
</code></pre>
</div>
<hr data-start="954" data-end="957" />
<h3 data-start="959" data-end="971"><span id="toc6">コードの読み解き</span></h3>
<p data-start="973" data-end="1042">・$i = 1<br data-start="980" data-end="983" />　→ カウンターの初期値<br data-start="995" data-end="998" />・$i &lt;= 5<br data-start="1006" data-end="1009" />　→ 繰り返す条件<br data-start="1018" data-end="1021" />・$i++<br data-start="1026" data-end="1029" />　→ 1回ごとに +1</p>
<p data-start="1044" data-end="1068">結果として、<br data-start="1050" data-end="1053" />1〜5 が順番に表示されます。</p>
<hr data-start="1070" data-end="1073" />
<h2 data-start="1075" data-end="1092"><span id="toc7">for 文は「回数で考える」</span></h2>
<p data-start="1094" data-end="1129">for 文を書くときは、<br data-start="1106" data-end="1109" />次のように考えると分かりやすくなります。</p>
<p data-start="1131" data-end="1147">「この処理は、何回繰り返すか？」</p>
<p data-start="1149" data-end="1173">回数が明確な場合は、<br data-start="1159" data-end="1162" />for 文が最適です。</p>
<hr data-start="1175" data-end="1178" />
<h2 data-start="1180" data-end="1199"><span id="toc8">配列と for 文（考え方だけ）</span></h2>
<p data-start="1201" data-end="1238">配列の要素数が分かっている場合、<br data-start="1217" data-end="1220" />for 文で処理することもできます。</p>
<p data-start="1240" data-end="1283">ただし、<br data-start="1244" data-end="1247" />PHPではこの用途には<br data-start="1258" data-end="1261" /><strong data-start="1261" data-end="1279">foreach の方が一般的</strong> です。</p>
<hr data-start="1285" data-end="1288" />
<h2 data-start="1290" data-end="1306"><span id="toc9">foreach 文とは何か</span></h2>
<p data-start="1308" data-end="1352">foreach は、<br data-start="1318" data-end="1321" /><strong data-start="1321" data-end="1348">配列の中身を1つずつ取り出すための繰り返し処理</strong> です。</p>
<p data-start="1354" data-end="1391">PHPでは、<br data-start="1360" data-end="1363" />配列処理のほとんどが<br data-start="1373" data-end="1376" />foreach で書かれます。</p>
<hr data-start="1393" data-end="1396" />
<h2 data-start="1398" data-end="1414"><span id="toc10">foreach の基本構文</span></h2>
<h3 data-start="1416" data-end="1440"><span id="toc11">サンプルコード②：foreach の基本</span></h3>
<div class="contain-inline-size rounded-2xl corner-superellipse/1.1 relative bg-token-sidebar-surface-primary">
<pre class="overflow-y-auto p-4" dir="ltr"><code class="whitespace-pre! language-php"><span class="hljs-meta">&lt;?php</span>
<span class="hljs-variable">$colors</span> = [<span class="hljs-string">'赤'</span>, <span class="hljs-string">'青'</span>, <span class="hljs-string">'緑'</span>];

<span class="hljs-keyword">foreach</span> (<span class="hljs-variable">$colors</span> <span class="hljs-keyword">as</span> <span class="hljs-variable">$color</span>) {
  <span class="hljs-keyword">echo</span> <span class="hljs-variable">$color</span> . <span class="hljs-string">'&lt;br&gt;'</span>;
}
</code></pre>
</div>
<hr data-start="1544" data-end="1547" />
<h3 data-start="1549" data-end="1561"><span id="toc12">コードの読み解き</span></h3>
<p data-start="1563" data-end="1616">・$colors<br data-start="1571" data-end="1574" />　→ 対象となる配列<br data-start="1584" data-end="1587" />・$color<br data-start="1594" data-end="1597" />　→ 配列から1つずつ取り出した値</p>
<p data-start="1618" data-end="1650">配列の要素数を意識しなくても、<br data-start="1633" data-end="1636" />自動で最後まで処理されます。</p>
<hr data-start="1652" data-end="1655" />
<h2 data-start="1657" data-end="1677"><span id="toc13">配列処理は foreach が基本</span></h2>
<p data-start="1679" data-end="1685">PHPでは、</p>
<p data-start="1687" data-end="1726">・配列の中身を表示する<br data-start="1698" data-end="1701" />・配列の値をチェックする<br data-start="1713" data-end="1716" />・配列を加工する</p>
<p data-start="1728" data-end="1757">といった処理は、<br data-start="1736" data-end="1739" />ほぼ foreach で書かれます。</p>
<p data-start="1759" data-end="1790">for 文よりも<br data-start="1767" data-end="1770" /><strong data-start="1770" data-end="1782">安全で読みやすい</strong> のが理由です。</p>
<hr data-start="1792" data-end="1795" />
<h2 data-start="1797" data-end="1818"><span id="toc14">キーと値を同時に使う foreach</span></h2>
<p data-start="1820" data-end="1866">配列によっては、<br data-start="1828" data-end="1831" />「番号」や「名前」などの<br data-start="1843" data-end="1846" /><strong data-start="1846" data-end="1852">キー</strong> を使いたい場合があります。</p>
<h3 data-start="1868" data-end="1893"><span id="toc15">サンプルコード③：キー付き foreach</span></h3>
<div class="contain-inline-size rounded-2xl corner-superellipse/1.1 relative bg-token-sidebar-surface-primary">
<pre class="overflow-y-auto p-4" dir="ltr"><code class="whitespace-pre! language-php"><span class="hljs-meta">&lt;?php</span>
<span class="hljs-variable">$user</span> = [
  <span class="hljs-string">'name'</span> =&gt; <span class="hljs-string">'太郎'</span>,
  <span class="hljs-string">'age'</span> =&gt; <span class="hljs-number">20</span>
];

<span class="hljs-keyword">foreach</span> (<span class="hljs-variable">$user</span> <span class="hljs-keyword">as</span> <span class="hljs-variable">$key</span> =&gt; <span class="hljs-variable">$value</span>) {
  <span class="hljs-keyword">echo</span> <span class="hljs-variable">$key</span> . <span class="hljs-string">'：'</span> . <span class="hljs-variable">$value</span> . <span class="hljs-string">'&lt;br&gt;'</span>;
}
</code></pre>
</div>
<hr data-start="2034" data-end="2037" />
<h3 data-start="2039" data-end="2052"><span id="toc16">実務での使いどころ</span></h3>
<p data-start="2054" data-end="2093">・連想配列の中身を表示<br data-start="2065" data-end="2068" />・設定値を一覧表示<br data-start="2077" data-end="2080" />・フォームエラーの表示</p>
<p data-start="2095" data-end="2113">などで、<br data-start="2099" data-end="2102" />非常によく使われます。</p>
<hr data-start="2115" data-end="2118" />
<h2 data-start="2120" data-end="2142"><span id="toc17">for と foreach の使い分け</span></h2>
<p data-start="2144" data-end="2154">目安は次の通りです。</p>
<p data-start="2156" data-end="2177">・回数が決まっている<br data-start="2166" data-end="2169" />　→ for</p>
<p data-start="2179" data-end="2203">・配列を処理したい<br data-start="2188" data-end="2191" />　→ foreach</p>
<p data-start="2205" data-end="2236">無理に統一せず、<br data-start="2213" data-end="2216" /><strong data-start="2216" data-end="2227">意図が伝わる方</strong> を選びましょう。</p>
<hr data-start="2238" data-end="2241" />
<h2 data-start="2243" data-end="2256"><span id="toc18">初心者がよくやるミス</span></h2>
<p data-start="2258" data-end="2272">繰り返し処理で多いミスです。</p>
<p data-start="2274" data-end="2334">・条件が間違って無限ループ<br data-start="2287" data-end="2290" />・配列なのに for で無理に処理する<br data-start="2309" data-end="2312" />・foreach の変数名が分かりにくい</p>
<p data-start="2336" data-end="2370">「何を繰り返しているか」<br data-start="2348" data-end="2351" />が分かる変数名を付けることが大切です。</p>
<hr data-start="2372" data-end="2375" />
<h2 data-start="2377" data-end="2391"><span id="toc19">学習初期のおすすめ練習</span></h2>
<p data-start="2393" data-end="2423">次のような処理を書いてみると、<br data-start="2408" data-end="2411" />理解が一気に深まります。</p>
<p data-start="2425" data-end="2474">・1〜10を表示する<br data-start="2435" data-end="2438" />・配列の中身をすべて表示する<br data-start="2452" data-end="2455" />・配列の値を条件分岐と組み合わせる</p>
<p data-start="2476" data-end="2503">条件分岐と組み合わせることで、<br data-start="2491" data-end="2494" />実務に近づきます。</p>
<hr data-start="2505" data-end="2508" />
<h2 data-start="2510" data-end="2516"><span id="toc20">まとめ</span></h2>
<p data-start="2518" data-end="2542">この記事では、<br data-start="2525" data-end="2528" />PHPの繰り返し処理として、</p>
<p data-start="2544" data-end="2565">・for 文<br data-start="2550" data-end="2553" />・foreach 文</p>
<p data-start="2567" data-end="2577">の基本を学びました。</p>
<p data-start="2579" data-end="2631">繰り返し処理が書けるようになると、<br data-start="2596" data-end="2599" /><strong data-start="2599" data-end="2616">配列・フォーム・データ処理</strong> が<br data-start="2618" data-end="2621" />一気に楽になります。</p>
<p data-start="2633" data-end="2661">次は、</p>
<p data-start="2633" data-end="2661">配列そのものをもう一段深く理解していきます。</p>
<hr data-start="2663" data-end="2666" />
<h2 data-start="2668" data-end="2679"><span id="toc21">次に読むべき記事</span></h2>
<p data-start="2681" data-end="2707">▶ 次の記事<br data-start="2687" data-end="2690" /><a href="https://seek-rise.com/web-development/php-basic/post-423/">6-7 PHPで配列を扱う基本</a></p>
<p data-start="2709" data-end="2749">▶ 関連記事<br data-start="2715" data-end="2718" /><a href="https://seek-rise.com/web-development/php-basic/post-417/">6-5 PHPの条件分岐（elseif / switch）</a></p>
]]></content:encoded>
					
					<wfw:commentRss>https://seek-rise.com/web-development/php-basic/post-420/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">420</post-id>	</item>
	</channel>
</rss>
