<?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繰り返し | Seek Rise</title>
	<atom:link href="https://seek-rise.com/tag/php%E7%B9%B0%E3%82%8A%E8%BF%94%E3%81%97/feed/" rel="self" type="application/rss+xml" />
	<link>https://seek-rise.com</link>
	<description></description>
	<lastBuildDate>Mon, 29 Dec 2025 01:28:20 +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>PHP繰り返し | 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-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-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">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>
