<?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 | You Look Too Cool</title>
	<atom:link href="https://stabucky.com/wp/archives/category/digital/php/feed" rel="self" type="application/rss+xml" />
	<link>https://stabucky.com/wp</link>
	<description>ゆるくつくる stabuckyのブログ</description>
	<lastBuildDate>Sun, 13 Jul 2025 03:32:49 +0000</lastBuildDate>
	<language>ja</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.9.4</generator>

<image>
	<url>https://stabucky.com/wp/wp-content/uploads/2024/05/cropped-stabucky-32x32.png</url>
	<title>PHP | You Look Too Cool</title>
	<link>https://stabucky.com/wp</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>PHPを7.4から8.3に変更</title>
		<link>https://stabucky.com/wp/archives/20222</link>
					<comments>https://stabucky.com/wp/archives/20222#respond</comments>
		
		<dc:creator><![CDATA[stabucky]]></dc:creator>
		<pubDate>Sun, 13 Jul 2025 03:31:31 +0000</pubDate>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[WordPress]]></category>
		<guid isPermaLink="false">https://stabucky.com/wp/?p=20222</guid>

					<description><![CDATA[このブログはWordPressを使っていますが、管理画面に「PHPのバージョンが古くて更新できない」というような表示が出るようになりました。 確認するとPHP7.4でした。 レンタルサーバーはロリポップです。確認するとP [&#8230;]]]></description>
										<content:encoded><![CDATA[<p>このブログはWordPressを使っていますが、管理画面に「PHPのバージョンが古くて更新できない」というような表示が出るようになりました。<br />
確認するとPHP7.4でした。<br />
レンタルサーバーはロリポップです。確認するとPHP8.3に変更できるようです。<br />
通常はテスト環境を作って確認してから変更するのですが、今回はいきなり変更してみました。</p>
<p>WordPressは全く問題なく動きました。<br />
表示速度が改善されるような話もありましたが、その点は全く変わった気がしません。</p>
<p>PHPを自分で作成したページの一部がエラーになりました。<br />
例えば次のような点です。</p>
<p>空の値を使うとエラー。</p>
<div class="codecolorer-container text dawn" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:400px;"><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap;">if(a[&quot;para&quot;]){<br />
}</div></div>
<p>要素にウォートを付けないとエラー。（まだこんなのが残っていたのか。）</p>
<div class="codecolorer-container text dawn" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:400px;"><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap;">a[para]</div></div>
<p>この程度だったので、すぐに修正できました。</p>
]]></content:encoded>
					
					<wfw:commentRss>https://stabucky.com/wp/archives/20222/feed</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>PHP(preg系)正規表現修飾子一覧</title>
		<link>https://stabucky.com/wp/archives/20182</link>
					<comments>https://stabucky.com/wp/archives/20182#respond</comments>
		
		<dc:creator><![CDATA[stabucky]]></dc:creator>
		<pubDate>Thu, 10 Jul 2025 23:28:24 +0000</pubDate>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[正規表現]]></category>
		<guid isPermaLink="false">https://stabucky.com/wp/?p=20182</guid>

					<description><![CDATA[目次 i (PCRE_CASELESS)m (PCRE_MULTILINE)s (PCRE_DOTALL)x (PCRE_EXTENDED)eA (PCRE_ANCHORED)D (PCRE_DOLLAR_ENDONLY [&#8230;]]]></description>
										<content:encoded><![CDATA[
  <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">i (PCRE_CASELESS)</a></li><li><a href="#toc2" tabindex="0">m (PCRE_MULTILINE)</a></li><li><a href="#toc3" tabindex="0">s (PCRE_DOTALL)</a></li><li><a href="#toc4" tabindex="0">x (PCRE_EXTENDED)</a></li><li><a href="#toc5" tabindex="0">e</a></li><li><a href="#toc6" tabindex="0">A (PCRE_ANCHORED)</a></li><li><a href="#toc7" tabindex="0">D (PCRE_DOLLAR_ENDONLY)</a></li><li><a href="#toc8" tabindex="0">S</a></li><li><a href="#toc9" tabindex="0">U (PCRE_UNGREEDY)</a></li><li><a href="#toc10" tabindex="0">X (PCRE_EXTRA)</a></li><li><a href="#toc11" tabindex="0">u (PCRE_UTF8)</a></li></ol>
    </div>
  </div>

<h2><span id="toc1">i (PCRE_CASELESS)</span></h2>
<p>この修飾子を設定すると、パターンの中の文字は大文字にも小文字にもマッチします。</p>
<h2><span id="toc2">m (PCRE_MULTILINE)</span></h2>
<p>デフォルトで、PCREは、検索対象文字列を（実際には複数行からなる場合でも）単一の行からなるとして処理します。「行頭」メタ文字 (^) は、対象文字列の最初にしかマッチしません。一方、「行末」メタ文字 ($) は、文字列の最後、または（<i>D</i>修飾子が設定されていない場合）最後にある改行記号の前のみにしかマッチしません。この動作はPerlと同じです。</p>
<p>この修飾子を設定すると、「行頭」および「行末」メタ文字は対象文字列において、文字列の最初と最後に加えて、各改行の直前と直後にそれぞれマッチします。この動作は、Perlの /m 修飾子と同じです。対象文字列の中に&#8221;\n&#8221;文字がない場合や、またはパターンに ^ または $ がない場合は、この修飾子を設定しても意味はありません。</p>
<h2><span id="toc3">s (PCRE_DOTALL)</span></h2>
<p>この修飾子を設定すると、パターン中のドットメタ文字は改行を含む全ての文字にマッチします。これを設定しない場合は、改行にはマッチしません。この修飾子は、Perlの /s 修飾子と同じです。[^a]のような否定の文字クラスは、この修飾子の設定によらず、常に改行文字にマッチします。</p>
<h2><span id="toc4">x (PCRE_EXTENDED)</span></h2>
<p>この修飾子を設定すると、エスケープするか文字クラスの内部を除き、パターンの空白文字は完全に無視されます。文字クラスの外にあって、かつエスケープされていない # と次の改行文字の間の文字も無視されます。この動作は、Perlの /x 修飾子と同じであり、複雑なパターンの内部にコメントを記述することが可能となります。しかし、この修飾子は、データ文字にのみ適用されることに注意してください。空白文字をパターンの特殊文字の並びの中、例えば条件付きサブパターン (?( の内部に置くことはできません。</p>
<h2><span id="toc5">e</span></h2>
<p>この修飾子を設定すると、<b>preg_replace()</b>は、置換文字列において後方参照に関する通常の置換を行った後、PHPコードとして評価し、検索文字列を置換するためにその結果を使用します。置換された後方参照においては、単引用符および二重引用符はバックスラッシュでエスケープされます。</p>
<p>この修飾子を使用するのは、<b>preg_replace()</b>のみです。他のPCRE関数では無視されます。</p>
<h2><span id="toc6">A (PCRE_ANCHORED)</span></h2>
<p>この修飾子を設定すると、パターンは強制的に固定(anchored)となります。つまり、検索対象文字列の先頭でのみマッチするように制限されます。パターン自体の中に適当な指定を行うことでも同様の効果を得ることが可能です。Perlではパターン中に指定する方法しか使用できません。</p>
<h2><span id="toc7">D (PCRE_DOLLAR_ENDONLY)</span></h2>
<p>この修飾子を設定すると、パターン内のドルメタ文字は、検索対象文字列の終わりにのみマッチします。この修飾子を設定しない場合、ドル記号は、検索対象文字列の最後の文字が改行文字であれば、その直前にもマッチします。この修飾子は、<i>m</i>を設定している場合に無視されます。Perlには、この修飾子に等価なものはありません。</p>
<h2><span id="toc8">S</span></h2>
<p>あるパターンを複数回使用する場合は、マッチングにかかる時間を高速化することを目的として、パターンの分析に幾分か時間をかけても良いでしょう。この修飾子を設定すると、追加のパターン分析が行われます。現在、パターン分析は、最初の文字が単一ではなく、かつ固定でないパターンに対してのみ有用です。</p>
<h2><span id="toc9">U (PCRE_UNGREEDY)</span></h2>
<p>この修飾子を設定すると、量指定子の「貪欲さ」が反転します。つまり、量指定子は、デフォルトで貪欲でなく、疑問符を後ろに付けてはじめて貪欲になるようになります。この修飾子はPerl互換では有りません。同様の設定は、(?U)修飾子をパターン内で設定するか、（<i>.*?</i>のように）量指定子の後に疑問符を付けるかすることで行うこともできます。</p>
<h2><span id="toc10">X (PCRE_EXTRA)</span></h2>
<p>この修正子は、Perl非互換なPCREの機能を有効にします。パターン内で後ろに文字が続くバックスラッシュで特別な意味がないものは、将来的な拡張の際の互換性の維持のため、エラーになります。デフォルトでは、Perlのように文字が後ろに続くバックスラッシュで特に意味がないものは、リテラルとして処理されます。この修飾子により制御される機能は、現在の所、これだけです。</p>
<h2><span id="toc11">u (PCRE_UTF8)</span></h2>
<p>この修正子は、Perl非互換なPCREの機能を有効にします。パターン文字列は、UTF-8エンコードされた文字列として処理されます。この修正子は、UNIXではPHP4.1.0以降、Win32ではPHP4.2.3以降で使用可能です。また、PHP4.3.5以降では、パターンのUTF-8としての妥当性も確認されます。</p>
]]></content:encoded>
					
					<wfw:commentRss>https://stabucky.com/wp/archives/20182/feed</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>PHPでGemini APIを使う方法</title>
		<link>https://stabucky.com/wp/archives/17485</link>
					<comments>https://stabucky.com/wp/archives/17485#respond</comments>
		
		<dc:creator><![CDATA[stabucky]]></dc:creator>
		<pubDate>Fri, 14 Jun 2024 03:27:49 +0000</pubDate>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[API]]></category>
		<category><![CDATA[Gemini]]></category>
		<guid isPermaLink="false">https://stabucky.com/wp/?p=17485</guid>

					<description><![CDATA[PHPでGemini APIを使う方法についてまとめました。 ライブラリ等を使わない方法です。 目次 コード実行結果 コード $prompt = &#34;日本の首相は誰ですか。&#34;; $text = gene [&#8230;]]]></description>
										<content:encoded><![CDATA[<p>PHPでGemini APIを使う方法についてまとめました。<br />
ライブラリ等を使わない方法です。<span id="more-17485"></span></p>

  <div id="toc" class="toc tnt-number toc-center tnt-number border-element"><input type="checkbox" class="toc-checkbox" id="toc-checkbox-6" checked><label class="toc-title" for="toc-checkbox-6">目次</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></ol>
    </div>
  </div>

<h2><span id="toc1">コード</span></h2>
<div class="codecolorer-container php dawn" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:400px;"><div class="php codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap;"><span style="color: #000088;">$prompt</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">&quot;日本の首相は誰ですか。&quot;</span><span style="color: #339933;">;</span><br />
<span style="color: #000088;">$text</span> <span style="color: #339933;">=</span> generate_content<span style="color: #009900;">&#40;</span><span style="color: #000088;">$prompt</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
<span style="color: #b1b100;">print</span> <span style="color: #000088;">$text</span><span style="color: #339933;">;</span><br />
<br />
<span style="color: #000000; font-weight: bold;">function</span> generate_content<span style="color: #009900;">&#40;</span><span style="color: #000088;">$prompt</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span><br />
&nbsp; <span style="color: #000088;">$apiKey</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">&quot;自分のAPIキー&quot;</span><span style="color: #339933;">;</span><br />
&nbsp; <span style="color: #000088;">$url</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">&quot;https://generativelanguage.googleapis.com/v1/models/gemini-1.5-flash:generateContent&quot;</span><span style="color: #339933;">;</span><br />
&nbsp; <span style="color: #000088;">$data</span> <span style="color: #339933;">=</span> <a href="http://www.php.net/array"><span style="color: #990000;">array</span></a><span style="color: #009900;">&#40;</span><br />
&nbsp; &nbsp; <span style="color: #0000ff;">&quot;contents&quot;</span> <span style="color: #339933;">=&gt;</span> <a href="http://www.php.net/array"><span style="color: #990000;">array</span></a><span style="color: #009900;">&#40;</span><br />
&nbsp; &nbsp; &nbsp; <a href="http://www.php.net/array"><span style="color: #990000;">array</span></a><span style="color: #009900;">&#40;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #0000ff;">&quot;parts&quot;</span> <span style="color: #339933;">=&gt;</span> <a href="http://www.php.net/array"><span style="color: #990000;">array</span></a><span style="color: #009900;">&#40;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <a href="http://www.php.net/array"><span style="color: #990000;">array</span></a><span style="color: #009900;">&#40;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #0000ff;">&quot;text&quot;</span> <span style="color: #339933;">=&gt;</span> <span style="color: #000088;">$prompt</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #009900;">&#41;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #009900;">&#41;</span><br />
&nbsp; &nbsp; &nbsp; <span style="color: #009900;">&#41;</span><br />
&nbsp; &nbsp; <span style="color: #009900;">&#41;</span><br />
&nbsp; <span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
&nbsp; <span style="color: #000088;">$options</span> <span style="color: #339933;">=</span> <a href="http://www.php.net/array"><span style="color: #990000;">array</span></a><span style="color: #009900;">&#40;</span><br />
&nbsp; &nbsp; <span style="color: #0000ff;">&quot;http&quot;</span> <span style="color: #339933;">=&gt;</span> <a href="http://www.php.net/array"><span style="color: #990000;">array</span></a><span style="color: #009900;">&#40;</span><br />
&nbsp; &nbsp; &nbsp; <span style="color: #0000ff;">&quot;header&quot;</span> &nbsp;<span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">&quot;Content-type: application/json<span style="color: #000099; font-weight: bold;">\r</span><span style="color: #000099; font-weight: bold;">\n</span>&quot;</span><span style="color: #339933;">,</span><br />
&nbsp; &nbsp; &nbsp; <span style="color: #0000ff;">&quot;method&quot;</span> &nbsp;<span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">&quot;POST&quot;</span><span style="color: #339933;">,</span><br />
&nbsp; &nbsp; &nbsp; <span style="color: #0000ff;">&quot;content&quot;</span> <span style="color: #339933;">=&gt;</span> <a href="http://www.php.net/json_encode"><span style="color: #990000;">json_encode</span></a><span style="color: #009900;">&#40;</span><span style="color: #000088;">$data</span><span style="color: #009900;">&#41;</span><br />
&nbsp; &nbsp; <span style="color: #009900;">&#41;</span><br />
&nbsp; <span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
&nbsp; <span style="color: #000088;">$context</span> &nbsp;<span style="color: #339933;">=</span> <a href="http://www.php.net/stream_context_create"><span style="color: #990000;">stream_context_create</span></a><span style="color: #009900;">&#40;</span><span style="color: #000088;">$options</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
&nbsp; <span style="color: #000088;">$result</span> <span style="color: #339933;">=</span> <a href="http://www.php.net/file_get_contents"><span style="color: #990000;">file_get_contents</span></a><span style="color: #009900;">&#40;</span><span style="color: #000088;">$url</span> <span style="color: #339933;">.</span> <span style="color: #0000ff;">&quot;?key=&quot;</span> <span style="color: #339933;">.</span> <span style="color: #000088;">$apiKey</span><span style="color: #339933;">,</span> <span style="color: #009900; font-weight: bold;">false</span><span style="color: #339933;">,</span> <span style="color: #000088;">$context</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
&nbsp; <span style="color: #000088;">$response</span> <span style="color: #339933;">=</span> <a href="http://www.php.net/json_decode"><span style="color: #990000;">json_decode</span></a><span style="color: #009900;">&#40;</span><span style="color: #000088;">$result</span><span style="color: #339933;">,</span> <span style="color: #009900; font-weight: bold;">true</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
&nbsp; <span style="color: #000088;">$generatedText</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$response</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">&quot;candidates&quot;</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">0</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">&quot;content&quot;</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">&quot;parts&quot;</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">0</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">&quot;text&quot;</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span><br />
&nbsp; <span style="color: #b1b100;">return</span> <span style="color: #000088;">$generatedText</span><span style="color: #339933;">;</span><br />
<span style="color: #009900;">&#125;</span></div></div>
<h2><span id="toc2">実行結果</span></h2>
<p>日本の首相は、岸田文雄氏です。 2021年10月4日に就任しました。</p>
]]></content:encoded>
					
					<wfw:commentRss>https://stabucky.com/wp/archives/17485/feed</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>PHPでChatGPT APIを使う方法</title>
		<link>https://stabucky.com/wp/archives/17396</link>
					<comments>https://stabucky.com/wp/archives/17396#respond</comments>
		
		<dc:creator><![CDATA[stabucky]]></dc:creator>
		<pubDate>Mon, 10 Jun 2024 03:31:48 +0000</pubDate>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[OpenAI]]></category>
		<guid isPermaLink="false">https://stabucky.com/wp/?p=17396</guid>

					<description><![CDATA[PHPでChatGPT APIを使う方法についてメモしておきます。 目次 準備使用例 準備 自分のAPIキーを取得します。 使用例 モデルは「gpt-4o」としています。 $question = &#34;次の文章を形 [&#8230;]]]></description>
										<content:encoded><![CDATA[<p>PHPでChatGPT APIを使う方法についてメモしておきます。<span id="more-17396"></span></p>

  <div id="toc" class="toc tnt-number toc-center tnt-number border-element"><input type="checkbox" class="toc-checkbox" id="toc-checkbox-8" checked><label class="toc-title" for="toc-checkbox-8">目次</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></ol>
    </div>
  </div>

<h2><span id="toc1">準備</span></h2>
<p>自分のAPIキーを取得します。</p>
<h2><span id="toc2">使用例</span></h2>
<p>モデルは「gpt-4o」としています。</p>
<div class="codecolorer-container php dawn" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:400px;height:400px;"><div class="php codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap;"><span style="color: #000088;">$question</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">&quot;次の文章を形態素解析してください。「私は猫です。」&quot;</span><span style="color: #339933;">;</span><br />
<span style="color: #000088;">$answer</span> <span style="color: #339933;">=</span> get_chatgpt<span style="color: #009900;">&#40;</span><span style="color: #000088;">$question</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
<br />
<span style="color: #b1b100;">print</span> <span style="color: #000088;">$question</span><span style="color: #339933;">;</span><br />
<span style="color: #b1b100;">print</span> <span style="color: #000088;">$answer</span><span style="color: #339933;">;</span><br />
<br />
<span style="color: #000000; font-weight: bold;">function</span> get_chatgpt<span style="color: #009900;">&#40;</span><span style="color: #000088;">$question</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span><br />
&nbsp; <span style="color: #000088;">$apiKey</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">&quot;{自分のAPIキー}&quot;</span><span style="color: #339933;">;</span><br />
&nbsp; <span style="color: #000088;">$endpoint</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">&quot;https://api.openai.com/v1/chat/completions&quot;</span><span style="color: #339933;">;</span><br />
&nbsp; <span style="color: #000088;">$headers</span> <span style="color: #339933;">=</span> <a href="http://www.php.net/array"><span style="color: #990000;">array</span></a><span style="color: #009900;">&#40;</span><br />
&nbsp; &nbsp; <span style="color: #0000ff;">&quot;Content-Type: application/json&quot;</span><span style="color: #339933;">,</span><br />
&nbsp; &nbsp; <span style="color: #0000ff;">&quot;Authorization: Bearer &quot;</span> <span style="color: #339933;">.</span> <span style="color: #000088;">$apiKey</span><br />
&nbsp; <span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
&nbsp; <span style="color: #000088;">$data</span> <span style="color: #339933;">=</span> <a href="http://www.php.net/array"><span style="color: #990000;">array</span></a><span style="color: #009900;">&#40;</span><br />
&nbsp; &nbsp; <span style="color: #0000ff;">&quot;model&quot;</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">&quot;gpt-4o&quot;</span><span style="color: #339933;">,</span><br />
&nbsp; &nbsp; <span style="color: #0000ff;">&quot;messages&quot;</span> <span style="color: #339933;">=&gt;</span> <span style="color: #009900;">&#91;</span><br />
&nbsp; &nbsp; &nbsp; <span style="color: #009900;">&#91;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #0000ff;">&quot;role&quot;</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">&quot;user&quot;</span><span style="color: #339933;">,</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #0000ff;">&quot;content&quot;</span> <span style="color: #339933;">=&gt;</span> <span style="color: #000088;">$question</span><br />
&nbsp; &nbsp; &nbsp; <span style="color: #009900;">&#93;</span><br />
&nbsp; &nbsp; <span style="color: #009900;">&#93;</span><br />
&nbsp; <span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
<br />
&nbsp; <span style="color: #000088;">$ch</span> <span style="color: #339933;">=</span> <a href="http://www.php.net/curl_init"><span style="color: #990000;">curl_init</span></a><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
&nbsp; <a href="http://www.php.net/curl_setopt"><span style="color: #990000;">curl_setopt</span></a><span style="color: #009900;">&#40;</span><span style="color: #000088;">$ch</span><span style="color: #339933;">,</span> CURLOPT_URL<span style="color: #339933;">,</span> <span style="color: #000088;">$endpoint</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
&nbsp; <a href="http://www.php.net/curl_setopt"><span style="color: #990000;">curl_setopt</span></a><span style="color: #009900;">&#40;</span><span style="color: #000088;">$ch</span><span style="color: #339933;">,</span> CURLOPT_HTTPHEADER<span style="color: #339933;">,</span> <span style="color: #000088;">$headers</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
&nbsp; <a href="http://www.php.net/curl_setopt"><span style="color: #990000;">curl_setopt</span></a><span style="color: #009900;">&#40;</span><span style="color: #000088;">$ch</span><span style="color: #339933;">,</span> CURLOPT_RETURNTRANSFER<span style="color: #339933;">,</span> <span style="color: #009900; font-weight: bold;">true</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
&nbsp; <a href="http://www.php.net/curl_setopt"><span style="color: #990000;">curl_setopt</span></a><span style="color: #009900;">&#40;</span><span style="color: #000088;">$ch</span><span style="color: #339933;">,</span> CURLOPT_POST<span style="color: #339933;">,</span> <span style="color: #009900; font-weight: bold;">true</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
&nbsp; <a href="http://www.php.net/curl_setopt"><span style="color: #990000;">curl_setopt</span></a><span style="color: #009900;">&#40;</span><span style="color: #000088;">$ch</span><span style="color: #339933;">,</span> CURLOPT_POSTFIELDS<span style="color: #339933;">,</span> <a href="http://www.php.net/json_encode"><span style="color: #990000;">json_encode</span></a><span style="color: #009900;">&#40;</span><span style="color: #000088;">$data</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
&nbsp; <a href="http://www.php.net/curl_setopt"><span style="color: #990000;">curl_setopt</span></a><span style="color: #009900;">&#40;</span><span style="color: #000088;">$ch</span><span style="color: #339933;">,</span> CURLOPT_HTTPHEADER<span style="color: #339933;">,</span> <span style="color: #000088;">$headers</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
<br />
&nbsp; <span style="color: #000088;">$response</span> <span style="color: #339933;">=</span> <a href="http://www.php.net/curl_exec"><span style="color: #990000;">curl_exec</span></a><span style="color: #009900;">&#40;</span><span style="color: #000088;">$ch</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
&nbsp; <a href="http://www.php.net/curl_close"><span style="color: #990000;">curl_close</span></a><span style="color: #009900;">&#40;</span><span style="color: #000088;">$ch</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
<br />
&nbsp; <span style="color: #000088;">$result</span> <span style="color: #339933;">=</span> <a href="http://www.php.net/json_decode"><span style="color: #990000;">json_decode</span></a><span style="color: #009900;">&#40;</span><span style="color: #000088;">$response</span><span style="color: #339933;">,</span> <span style="color: #009900; font-weight: bold;">true</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
&nbsp; <span style="color: #000088;">$answer</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$result</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">&quot;choices&quot;</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">0</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">&quot;message&quot;</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">&quot;content&quot;</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span><br />
&nbsp; <span style="color: #b1b100;">return</span> <span style="color: #000088;">$answer</span><span style="color: #339933;">;</span><br />
<span style="color: #009900;">&#125;</span></div></div>
]]></content:encoded>
					
					<wfw:commentRss>https://stabucky.com/wp/archives/17396/feed</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Burrn!のRSSを自作</title>
		<link>https://stabucky.com/wp/archives/16530</link>
					<comments>https://stabucky.com/wp/archives/16530#respond</comments>
		
		<dc:creator><![CDATA[stabucky]]></dc:creator>
		<pubDate>Tue, 27 Feb 2024 23:35:19 +0000</pubDate>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[RSS]]></category>
		<guid isPermaLink="false">https://stabucky.com/wp/?p=16530</guid>

					<description><![CDATA[最近、ある記事を読んで、RSSリーダーの存在を再認識しました。 RSSリーダーは、ウェブサイトの更新情報を一元的に閲覧できるツールで、一見古臭い技術に思えますが、その有用性を再評価するきっかけとなりました。 その後、友人 [&#8230;]]]></description>
										<content:encoded><![CDATA[<p>最近、ある記事を読んで、RSSリーダーの存在を再認識しました。<br />
RSSリーダーは、ウェブサイトの更新情報を一元的に閲覧できるツールで、一見古臭い技術に思えますが、その有用性を再評価するきっかけとなりました。<span id="more-16530"></span></p>
<p>その後、友人から興味深い情報を得ました。<br />
映画館でクイーンのライブが上映されているとのこと。<br />
この情報を教えてくれた友人が紹介してくれたのが、Burrn!のウェブサイトです。</p>
<div class="linkcard"><div class="lkc-external-wrap"><a rel="noopener" class="lkc-link no_icon" href="https://burrn.online" data-lkc-id="122" target="_blank"><div class="lkc-card"><div class="lkc-info"><div class="lkc-favicon"><img decoding="async" src="https://www.google.com/s2/favicons?domain=burrn.online" alt="" width="16" height="16" /></div><div class="lkc-domain">BURRN! ONLINE</div><div class="lkc-share"> <div class="lkc-sns-hb">4 Users</div> <div class="lkc-sns-po">21 Pockets</div></div></div><div class="lkc-content"><figure class="lkc-thumbnail"><img decoding="async" class="lkc-thumbnail-img" src="https://s.wordpress.com/mshots/v1/https%3A%2F%2Fburrn.online?w=200" width="100px" height="108px" alt="" /></figure><div class="lkc-title">BURRN! ONLINE</div><div class="lkc-url" title="https://burrn.online">https://burrn.online</div></div><div class="clear"></div></div></a></div></div>
<p>Burrn!は、私が10年ほど前に毎月購入していた音楽雑誌です。<br />
その後、Burrn!のウェブサイトが開設され、さまざまな音楽ニュースを提供しています。<br />
残念ながらRSSフィードは提供されていません。<br />
この問題を解決するため、Burrn!のウェブサイトの更新情報をRSSとして取得することにしました。<br />
これにより、Burrn!の最新情報を逃さずにチェックできるようになりました。</p>
<p>RSSのURLは次のとおりです。<br />
https://tool.stabucky.com/box/burrn/rss.php</p>
]]></content:encoded>
					
					<wfw:commentRss>https://stabucky.com/wp/archives/16530/feed</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>ERR_BLOCKED_BY_CLIENTが出たときに試した方法</title>
		<link>https://stabucky.com/wp/archives/16432</link>
					<comments>https://stabucky.com/wp/archives/16432#respond</comments>
		
		<dc:creator><![CDATA[stabucky]]></dc:creator>
		<pubDate>Wed, 31 Jan 2024 12:05:25 +0000</pubDate>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[AdBlock]]></category>
		<category><![CDATA[Chrome]]></category>
		<category><![CDATA[MAMP]]></category>
		<category><![CDATA[エラー]]></category>
		<category><![CDATA[解決法]]></category>
		<guid isPermaLink="false">https://stabucky.com/wp/?p=16432</guid>

					<description><![CDATA[MacでMAMPを使い、PHPで生成した画像を、Chromeに表示しようとした際に、ERR_BLOCKED_BY_CLIENTというエラーが出ました。 Safariで試すと正しく表示されます。 ChromeではAdBlo [&#8230;]]]></description>
										<content:encoded><![CDATA[<p>MacでMAMPを使い、PHPで生成した画像を、Chromeに表示しようとした際に、ERR_BLOCKED_BY_CLIENTというエラーが出ました。<br />
Safariで試すと正しく表示されます。<br />
ChromeではAdBlockを使っているのですが、これを停止したところ、正しく表示されました。<span id="more-16432"></span></p>
<p>2024年2月6日追記<br />
上述のエラーが出たのは「PHPで作成した画像をHTML（拡張子がhtml）に表示」のケースでした。<br />
「PHPで作成した画像をPHPで作成したページに表示」の場合は問題ありませんでした。</p>
]]></content:encoded>
					
					<wfw:commentRss>https://stabucky.com/wp/archives/16432/feed</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>PHPで文字列を正しい位置に印字する関数</title>
		<link>https://stabucky.com/wp/archives/16420</link>
					<comments>https://stabucky.com/wp/archives/16420#respond</comments>
		
		<dc:creator><![CDATA[stabucky]]></dc:creator>
		<pubDate>Tue, 23 Jan 2024 23:33:00 +0000</pubDate>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[gd]]></category>
		<category><![CDATA[画像]]></category>
		<guid isPermaLink="false">https://stabucky.com/wp/?p=16420</guid>

					<description><![CDATA[PHPで画像を生成する際、文字列を印字するにはimagettftextを使いますが、位置が微妙にずれます。 これを解消する関数を自作しました。 function position_text&#40;$image, $si [&#8230;]]]></description>
										<content:encoded><![CDATA[<p>PHPで画像を生成する際、文字列を印字するにはimagettftextを使いますが、位置が微妙にずれます。<br />
これを解消する関数を自作しました。<span id="more-16420"></span></p>
<div class="codecolorer-container php dawn" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:400px;"><div class="php codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap;"><span style="color: #000000; font-weight: bold;">function</span> position_text<span style="color: #009900;">&#40;</span><span style="color: #000088;">$image</span><span style="color: #339933;">,</span> <span style="color: #000088;">$size</span><span style="color: #339933;">,</span> <span style="color: #000088;">$x</span><span style="color: #339933;">,</span> <span style="color: #000088;">$y</span><span style="color: #339933;">,</span> <span style="color: #000088;">$color</span><span style="color: #339933;">,</span> <span style="color: #000088;">$font_filename</span><span style="color: #339933;">,</span> <span style="color: #000088;">$text</span><span style="color: #339933;">,</span> <span style="color: #000088;">$oriental</span><span style="color: #339933;">,</span> <span style="color: #000088;">$vertical</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span><br />
&nbsp; <span style="color: #666666; font-style: italic;">//$oriental=left,center,rightを指定。</span><br />
&nbsp; <span style="color: #666666; font-style: italic;">//$vertical=top,middle,bottomを指定。</span><br />
&nbsp; <span style="color: #666666; font-style: italic;">//left,bottomとすると左下を基準とする。</span><br />
&nbsp; <span style="color: #666666; font-style: italic;">//center,middleとすると上下左右の中心を基準とする。</span><br />
&nbsp; <span style="color: #000088;">$angle</span> <span style="color: #339933;">=</span> <span style="color: #cc66cc;">0</span><span style="color: #339933;">;</span><br />
&nbsp; <span style="color: #000088;">$pos</span> <span style="color: #339933;">=</span> <a href="http://www.php.net/imagettfbbox"><span style="color: #990000;">imagettfbbox</span></a><span style="color: #009900;">&#40;</span><span style="color: #000088;">$size</span><span style="color: #339933;">,</span> <span style="color: #000088;">$angle</span><span style="color: #339933;">,</span> <span style="color: #000088;">$font_filename</span><span style="color: #339933;">,</span> <span style="color: #000088;">$text</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
&nbsp; <span style="color: #000088;">$width</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$pos</span><span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">2</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">-</span> <span style="color: #000088;">$pos</span><span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">0</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span><br />
&nbsp; <span style="color: #000088;">$height</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$pos</span><span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">3</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">-</span> <span style="color: #000088;">$pos</span><span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">7</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span><br />
&nbsp; <span style="color: #b1b100;">if</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$oriental</span> <span style="color: #339933;">==</span> <span style="color: #0000ff;">&quot;center&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span><br />
&nbsp; &nbsp; <span style="color: #000088;">$x</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$x</span> <span style="color: #339933;">-</span> <span style="color: #000088;">$width</span> <span style="color: #339933;">*</span> <span style="color:#800080;">0.5</span><span style="color: #339933;">;</span><br />
&nbsp; <span style="color: #009900;">&#125;</span><span style="color: #b1b100;">else</span> <span style="color: #b1b100;">if</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$oriental</span> <span style="color: #339933;">==</span> <span style="color: #0000ff;">&quot;right&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span><br />
&nbsp; &nbsp; <span style="color: #000088;">$x</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$x</span> <span style="color: #339933;">-</span> <span style="color: #000088;">$width</span><span style="color: #339933;">;</span><br />
&nbsp; <span style="color: #009900;">&#125;</span><br />
&nbsp; <span style="color: #b1b100;">if</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$vertical</span> <span style="color: #339933;">==</span> <span style="color: #0000ff;">&quot;middle&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span><br />
&nbsp; &nbsp; <span style="color: #000088;">$y</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$y</span> <span style="color: #339933;">+</span> <span style="color: #000088;">$height</span> <span style="color: #339933;">*</span> <span style="color:#800080;">0.5</span><span style="color: #339933;">;</span><br />
&nbsp; <span style="color: #009900;">&#125;</span><span style="color: #b1b100;">else</span> <span style="color: #b1b100;">if</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$vertical</span> <span style="color: #339933;">==</span> <span style="color: #0000ff;">&quot;top&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span><br />
&nbsp; &nbsp; <span style="color: #000088;">$y</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$y</span> <span style="color: #339933;">+</span> <span style="color: #000088;">$height</span><span style="color: #339933;">;</span><br />
&nbsp; <span style="color: #009900;">&#125;</span><br />
&nbsp; <a href="http://www.php.net/imagettftext"><span style="color: #990000;">imagettftext</span></a><span style="color: #009900;">&#40;</span><span style="color: #000088;">$image</span><span style="color: #339933;">,</span> <span style="color: #000088;">$size</span><span style="color: #339933;">,</span> <span style="color: #000088;">$angle</span><span style="color: #339933;">,</span> <span style="color: #000088;">$x</span> <span style="color: #339933;">-</span> <span style="color: #000088;">$pos</span><span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">0</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span> <span style="color: #000088;">$y</span> <span style="color: #339933;">-</span> <span style="color: #000088;">$pos</span><span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">3</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span> <span style="color: #000088;">$color</span><span style="color: #339933;">,</span> <span style="color: #000088;">$font_filename</span><span style="color: #339933;">,</span> <span style="color: #000088;">$text</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
<span style="color: #009900;">&#125;</span></div></div>
<p><img fetchpriority="high" decoding="async" src="https://stabucky.com/wp/wp-content/uploads/2024/01/position_text.png" alt="" width="400" height="400" class="alignnone size-full wp-image-16421" srcset="https://stabucky.com/wp/wp-content/uploads/2024/01/position_text.png 400w, https://stabucky.com/wp/wp-content/uploads/2024/01/position_text-150x150.png 150w, https://stabucky.com/wp/wp-content/uploads/2024/01/position_text-120x120.png 120w" sizes="(max-width: 400px) 100vw, 400px" /></p>
]]></content:encoded>
					
					<wfw:commentRss>https://stabucky.com/wp/archives/16420/feed</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>MAMPで反映が遅いときに試した方法</title>
		<link>https://stabucky.com/wp/archives/16389</link>
					<comments>https://stabucky.com/wp/archives/16389#respond</comments>
		
		<dc:creator><![CDATA[stabucky]]></dc:creator>
		<pubDate>Sun, 14 Jan 2024 07:49:45 +0000</pubDate>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[MAMP]]></category>
		<category><![CDATA[解決法]]></category>
		<guid isPermaLink="false">https://stabucky.com/wp/?p=16389</guid>

					<description><![CDATA[PHPの開発をするときはMAMPで動作確認をしています。 最近、コードを書き換えた際、ブラウザ表示に反映されるのに時間がかかるようになりました。 それを解消する方法をメモしておきます。 MAMPのバージョンは6.8です。 [&#8230;]]]></description>
										<content:encoded><![CDATA[<p>PHPの開発をするときはMAMPで動作確認をしています。<br />
最近、コードを書き換えた際、ブラウザ表示に反映されるのに時間がかかるようになりました。<br />
それを解消する方法をメモしておきます。<br />
MAMPのバージョンは6.8です。<span id="more-16389"></span></p>
<p>MAMPのPreferencesをクリック。<br />
<img decoding="async" src="https://stabucky.com/wp/wp-content/uploads/2024/01/mamp1.png" alt="" width="400" height="337" class="alignnone size-full wp-image-16390" /></p>
<p>GeneralのPHP-CacheがOPcacheとなっているのでoffを選択。<br />
<img loading="lazy" decoding="async" src="https://stabucky.com/wp/wp-content/uploads/2024/01/mamp2.png" alt="" width="400" height="337" class="alignnone size-full wp-image-16391" /></p>
<p>MAMPを再起動。</p>
<p>（<a href="https://dezanari.com/mamp-php-cache/">でざなり</a>で紹介されていた方法です。ありがとうございました。）</p>
]]></content:encoded>
					
					<wfw:commentRss>https://stabucky.com/wp/archives/16389/feed</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>PHPの$GLOBALSの使い方</title>
		<link>https://stabucky.com/wp/archives/15860</link>
					<comments>https://stabucky.com/wp/archives/15860#respond</comments>
		
		<dc:creator><![CDATA[stabucky]]></dc:creator>
		<pubDate>Mon, 26 Jun 2023 02:05:12 +0000</pubDate>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[グローバル変数]]></category>
		<guid isPermaLink="false">https://stabucky.com/wp/?p=15860</guid>

					<description><![CDATA[PHPのグローバル変数についてまとめてみました。 目次 概要$GLOBALSという連想配列に代入変数名がキーに関数の中でGLOBALSに代入配列も代入可能$GLOBALSの中身globalキーワード 概要 PHPは変数の [&#8230;]]]></description>
										<content:encoded><![CDATA[<p>PHPのグローバル変数についてまとめてみました。<span id="more-15860"></span></p>

  <div id="toc" class="toc tnt-number toc-center tnt-number border-element"><input type="checkbox" class="toc-checkbox" id="toc-checkbox-18" checked><label class="toc-title" for="toc-checkbox-18">目次</label>
    <div class="toc-content">
    <ol class="toc-list open"><li><a href="#toc1" tabindex="0">概要</a></li><li><a href="#toc2" tabindex="0">$GLOBALSという連想配列に代入</a></li><li><a href="#toc3" tabindex="0">変数名がキーに</a></li><li><a href="#toc4" tabindex="0">関数の中でGLOBALSに代入</a></li><li><a href="#toc5" tabindex="0">配列も代入可能</a></li><li><a href="#toc6" tabindex="0">$GLOBALSの中身</a></li><li><a href="#toc7" tabindex="0">globalキーワード</a></li></ol>
    </div>
  </div>

<h2><span id="toc1">概要</span></h2>
<p>PHPは変数の範囲（スコープ）が関数の中に限定されます。<br />
外の変数を中に適用する場合はグローバル変数として扱う必要があります。</p>
<h2><span id="toc2">$GLOBALSという連想配列に代入</span></h2>
<p>$GLOBALSという特別な連想配列があります。これに代入すると関数の外でも中でもその値を取得できます。</p>
<div class="codecolorer-container php dawn" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:400px;"><div class="php codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap;"><span style="color: #000088;">$GLOBALS</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">&quot;apple&quot;</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> <span style="color: #cc66cc;">111</span><span style="color: #339933;">;</span><br />
<span style="color: #000088;">$GLOBALS</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">&quot;banana&quot;</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> <span style="color: #cc66cc;">222</span><span style="color: #339933;">;</span><br />
<br />
<span style="color: #000000; font-weight: bold;">function</span> test1<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span><br />
&nbsp; <span style="color: #b1b100;">return</span> <span style="color: #000088;">$GLOBALS</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">&quot;apple&quot;</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span><br />
<span style="color: #009900;">&#125;</span><br />
<br />
<span style="color: #000088;">$result</span><span style="color: #339933;">=</span>test1<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
<span style="color: #b1b100;">print</span> <span style="color: #000088;">$result</span><span style="color: #339933;">;</span><br />
<br />
<span style="color: #666666; font-style: italic;">// 111</span></div></div>
<h2><span id="toc3">変数名がキーに</span></h2>
<p>変数名をキーにすることもできます。<br />
使い道がわかりません。</p>
<div class="codecolorer-container php dawn" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:400px;"><div class="php codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap;"><span style="color: #000088;">$carrot</span> <span style="color: #339933;">=</span> <span style="color: #cc66cc;">333</span><span style="color: #339933;">;</span><br />
<br />
<span style="color: #000000; font-weight: bold;">function</span> test2<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span><br />
&nbsp; <span style="color: #b1b100;">return</span> <span style="color: #000088;">$GLOBALS</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">&quot;carrot&quot;</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span><br />
<span style="color: #009900;">&#125;</span><br />
<br />
<span style="color: #000088;">$result</span> <span style="color: #339933;">=</span> test2<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
<span style="color: #b1b100;">print</span> <span style="color: #000088;">$result</span><span style="color: #339933;">;</span><br />
<br />
<span style="color: #666666; font-style: italic;">// 333</span></div></div>
<h2><span id="toc4">関数の中でGLOBALSに代入</span></h2>
<p>関数の外で那覇区、中で代入することもできます。</p>
<div class="codecolorer-container php dawn" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:400px;"><div class="php codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap;"><span style="color: #000000; font-weight: bold;">function</span> test3<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span><br />
&nbsp; <span style="color: #000088;">$GLOBALS</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">&quot;banana&quot;</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> <span style="color: #cc66cc;">22222</span><span style="color: #339933;">;</span><br />
&nbsp; <span style="color: #b1b100;">return</span> <span style="color: #000088;">$GLOBALS</span><span style="color: #339933;">;</span><br />
<span style="color: #009900;">&#125;</span><br />
<br />
<span style="color: #000088;">$result</span> <span style="color: #339933;">=</span> test3<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
<span style="color: #b1b100;">print</span> <span style="color: #000088;">$GLOBALS</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">&quot;banana&quot;</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span><br />
<br />
<span style="color: #666666; font-style: italic;">// 22222</span></div></div>
<h2><span id="toc5">配列も代入可能</span></h2>
<p>配列も使えます。</p>
<div class="codecolorer-container php dawn" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:400px;"><div class="php codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap;"><span style="color: #000088;">$GLOBALS</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">&quot;durians&quot;</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> <a href="http://www.php.net/array"><span style="color: #990000;">array</span></a><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;good&quot;</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">&quot;bad&quot;</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">&quot;too bad&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
<br />
<span style="color: #000000; font-weight: bold;">function</span> test4<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span><br />
&nbsp; <span style="color: #b1b100;">return</span> <span style="color: #000088;">$GLOBALS</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">&quot;durians&quot;</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">1</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span><br />
<span style="color: #009900;">&#125;</span><br />
<br />
<span style="color: #000088;">$result</span> <span style="color: #339933;">=</span> test4<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
<span style="color: #b1b100;">print</span> <span style="color: #000088;">$result</span><span style="color: #339933;">;</span><br />
<br />
<span style="color: #666666; font-style: italic;">// bad</span></div></div>
<h2><span id="toc6">$GLOBALSの中身</span></h2>
<p>$GLOBALSはグローバル変数なので中身を全部出力してみます。</p>
<div class="codecolorer-container php dawn" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:400px;"><div class="php codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap;"><a href="http://www.php.net/print_r"><span style="color: #990000;">print_r</span></a><span style="color: #009900;">&#40;</span><span style="color: #000088;">$GLOBALS</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
<br />
<span style="color: #666666; font-style: italic;">/*<br />
Array<br />
(<br />
&nbsp; &nbsp; [GLOBALS] =&gt; Array<br />
&nbsp; &nbsp; [apple] =&gt; 111<br />
&nbsp; &nbsp; [banana] =&gt; 22222<br />
&nbsp; &nbsp; [carrot] =&gt; 333<br />
&nbsp; &nbsp; [durians] =&gt; Array<br />
&nbsp; &nbsp; &nbsp; &nbsp; (<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [0] =&gt; good<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [1] =&gt; bad<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [2] =&gt; too bad<br />
&nbsp; &nbsp; &nbsp; &nbsp; )<br />
)<br />
*/</span></div></div>
<h2><span id="toc7">globalキーワード</span></h2>
<p>グローバル変数を扱う別の手法があります。<br />
globalキーワードを使います。<br />
関数の中で「これはグローバル変数です」と宣言するような使い方です。</p>
<div class="codecolorer-container php dawn" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:400px;"><div class="php codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap;"><span style="color: #000088;">$apple</span><span style="color: #339933;">=</span><span style="color: #cc66cc;">1111</span><span style="color: #339933;">;</span><br />
<span style="color: #000000; font-weight: bold;">function</span> test5<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span><br />
&nbsp; <span style="color: #b1b100;">print</span> <span style="color: #000088;">$apple</span><span style="color: #339933;">;</span><br />
<span style="color: #009900;">&#125;</span><br />
<span style="color: #000088;">$result</span> <span style="color: #339933;">=</span> test5<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
<br />
<span style="color: #666666; font-style: italic;">// 印字されない（空文字が印字される）。</span><br />
<br />
<span style="color: #000088;">$apple</span> <span style="color: #339933;">=</span> <span style="color: #cc66cc;">1111</span><span style="color: #339933;">;</span><br />
<span style="color: #000000; font-weight: bold;">function</span> test6<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span><br />
&nbsp; <span style="color: #000000; font-weight: bold;">global</span> <span style="color: #000088;">$apple</span><span style="color: #339933;">;</span> <span style="color: #666666; font-style: italic;">// ここがポイント！</span><br />
&nbsp; <span style="color: #b1b100;">print</span> <span style="color: #000088;">$apple</span><span style="color: #339933;">;</span><br />
<span style="color: #009900;">&#125;</span><br />
<span style="color: #000088;">$result</span> <span style="color: #339933;">=</span> test6<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
<br />
<span style="color: #666666; font-style: italic;">// 1111</span></div></div>
<p><img loading="lazy" decoding="async" src="https://stabucky.com/wp/wp-content/uploads/2018/10/php_logo.png" alt="" width="300" height="157" class="alignnone size-full wp-image-11706" /></p>
]]></content:encoded>
					
					<wfw:commentRss>https://stabucky.com/wp/archives/15860/feed</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>array_sliceの使い方</title>
		<link>https://stabucky.com/wp/archives/15836</link>
					<comments>https://stabucky.com/wp/archives/15836#respond</comments>
		
		<dc:creator><![CDATA[stabucky]]></dc:creator>
		<pubDate>Sun, 04 Jun 2023 23:49:28 +0000</pubDate>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[配列]]></category>
		<guid isPermaLink="false">https://stabucky.com/wp/?p=15836</guid>

					<description><![CDATA[PHPで配列を操作する関数は色々あります。 配列の一部を取り出す場合に使えるのがarray_sliceです。 これを覚えておけばほとんどの場合、これで済むと思います。 $my_arrayという配列があり、これを操作するこ [&#8230;]]]></description>
										<content:encoded><![CDATA[<p>PHPで配列を操作する関数は色々あります。<br />
配列の一部を取り出す場合に使えるのがarray_sliceです。<br />
これを覚えておけばほとんどの場合、これで済むと思います。<span id="more-15836"></span></p>
<p>$my_arrayという配列があり、これを操作することとします。</p>
<p>array_slice(array, from, number)<br />
array:元となる配列です。<br />
from:最初のインデックスです。ゼロからカウントするので3番目であればインデックス2です。<br />
number:取り出す個数です。省略すると最後まで取り出します。</p>
<p><img loading="lazy" decoding="async" src="https://stabucky.com/wp/wp-content/uploads/2023/06/array_slice.png" alt="" width="400" height="520" class="alignnone size-full wp-image-15837" srcset="https://stabucky.com/wp/wp-content/uploads/2023/06/array_slice.png 400w, https://stabucky.com/wp/wp-content/uploads/2023/06/array_slice-385x500.png 385w" sizes="(max-width: 400px) 100vw, 400px" /></p>
<p>配列の最初から3個取り出す。<br />
$new_array = array_slice($my_array, 0, 3)</p>
<p>配列のインデックス2から3個取り出す。<br />
$new_array = array_slice($my_array, 2, 3)</p>
<p>配列の最後から3個取り出す。<br />
$new_array = array_slice($my_array, -3)</p>
]]></content:encoded>
					
					<wfw:commentRss>https://stabucky.com/wp/archives/15836/feed</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>
