PHP

配列操作

【PHP】多次元配列から指定カラムの配列を作成する array_column()

はじめに 嫁ちゃん 多次元配列から配列を作るってどういうこと?なんかややこしくない? わたし 多次元って聞くとなんか複雑そうな感じもするね。表計算ソフトで言うところの1列分のデータを取ってきて、配列を作る感じかな。 概要 二次元配列は、表ではこのようになりますね。 番号氏名フリガナ年齢1山田 太郎ヤマダ タロウ452宇宙 ひろしウチュウ ヒロシ1003山本 リンダヤマモト リンダ20 ここから「氏...
関数・クラス

【PHP】指定フォルダ内にある画像ファイルの一覧からランダムで1つ選ぶ

はじめに わたしは写真を撮るのが好きで、Twitterに写真を投稿するのですが、特に公に晒してもいい写真を1つのフォルダに集め、そこから写真を一枚選んでTwitterに投稿しています。もちろん「写真を一枚選んで、Twitterへ投稿」という部分はPHPに任せています。 嫁ちゃん 電車の写真ばっかり撮っているよねー。他は何かないのかな? わたし そやなー、あえていうなら、花のマクロ撮影なんかは楽しい...
開発環境

【Mac】Visual Studio Code を使ったPHPの最低限のデバッグ環境の構築

はじめに 小さなプロジェクトで、特にGUIを必要としない小さなプログラム作成には、MacのターミナルでPHPのソースを作成し、そのまま実行するという感じでやってきたのですが、少しリッチな環境「Visual Studio Code」で作業(デバッグ)をしてみたいと思い、この記事にまとめてみました。 嫁ちゃん 今回は「Visual Studio Code」を使ってPHPのデバッグ環境を構築することにな...
ファイル操作

【PHP】ファイルが削除可能かチェックする is_writable

概要 嫁ちゃん なぜファイルが削除可能かチェックするの?どうせ削除するなら確認なんかいらないんじゃないの。 わたし 「ファイルの削除が可能なら、ある処理をした後にファイルを削除する」というような分岐が可能になるよ。 環境 使用OSmacOS Catalina バージョン 10.15.1PHPバージョン is_writable 関数 is_writable 関数は、対象のファイルが書き込みが可能かチ...
開発環境

【Mac】Homebrew で Mac に PHP7.3 をインストール

はじめに MacにはもともとデフォルトでPHPが入っていますが、PHPの最新とはいかないので、バージョンアップしてゆきたいと思います。パッケージマネージャ「Homebrew」を使ってインストールしますので、特にむずかい設定等はありません。 作業環境 MacBook Pro (Retina, 13-inch, Early 2015) macOS Catalina バージョン 10.15.3 Home...
Twitter関連

【Twitter】自分のTweet(ツイート)を取得する

はじめに 前回PHPでTwitterの簡単なツイート(つぶやき)をするコーディングをしてみました。今回は、「自分のツイートを取得」してみたいとおもいます。 PHPでTwitterの投稿やツィートを取得するプログラムを作成する為には、事前にTwitterの開発者向けサイトにて「Consumer key」「Consumer secret」「Access token」「Access token secr...
Twitter関連

【Twitter】Tweet(ツイート)をしてみる

はじめに PHPでTwitterの投稿やツィートを取得するプログラムを作成する為には、事前にTwitterの開発者向けサイトにて「Consumer key」「Consumer secret」「Access token」「Access token secret」の取得が必要です。 ライブラリ「TwitterOAuth」のダウンロード 以下のサイトからライブラリ「TwitterOAuth」一式がダウン...
Twitter関連

【Twitter】Twitterアプリケーション作成のための準備

ブログやホームページを更新した際、広報としてTwitterへ投稿したいなーと思いまして、PHPを使ってTwitterへ投稿する方法など、少しまとめてみました。今回は、Twitterアプリケーション作成の準備について書きたいと思います。 はじめに PHPでTwitterの投稿やツィートを取得するプログラムを作成する為には、事前にTwitterの開発者向けサイトにて「Consumer key」「Con...
日付時刻

【PHP】ファイルの更新日時を取得する filemtime

PHPでファイルの更新日時を取得するサンプル <?php // タイムゾーン設定 date_default_timezone_set('Asia/Tokyo'); // ファイルの更新日時を取得 $timeStamp = filemtime($fileName); // 日時整形後、出力 echo date('Y/m/d H:i:s', $timeStamp); ?...
開発環境

【Pi】Raspberry Pi 3 に「PHP」をインストール

今回は、Raspberry Pi 3 に「PHP」をインストールします。 はじめに 「Raspberry Pi 3」の購入と、「OS」のインストールが完了しているのが前提で話をすすめていきます。 作業環境 Raspberry Pi 3 Model B RASPBIAN 8.0 jessie Mac OS X EI Capitan 10.11.6(実際の作業はこのPCにておこないます) Raspbe...
Twitter関連

【Twitter】ミュートにしているユーザー覧を取得

はじめに PHPでTwitterの投稿やツィートを取得するプログラムを作成する為には、事前にTwitterの開発者向けサイトにて「Consumer key」「Consumer secret」「Access token」「Access token secret」の取得が必要です。 ライブラリ「TwitterOAuth」のダウンロード 以下のサイトからライブラリ「TwitterOAuth」一式がダウン...
配列操作

【PHP】compact関数で連想配列を作成する

Xcompact関数で連想配列を作成するサンプル compact - 変数名とその値から配列を作成する compact ( mixed $varname1 ) : array コード $apple = 10; $orange = 30; $banana = 100; $melon = 200; $arr = compact('apple', 'orange', &#...
日付時刻

【PHP】日時の加算・減算をする strtotime()

Xstrtotime関数を使った日付の加算・減算のサンプル strtotime—英文形式の日付を Unix タイムスタンプに変換する strtotime ( string $time ) : int この関数は英語の書式での日付を含む文字列が指定されることを期待しており、nowで与えられたその形式から Unix タイムスタンプ (1970 年 1 月 1 日 00:00:00 UTC からの経過秒...
文字列操作

【PHP】文字列の半角・全角 変更をおこなう mb_convert_kana()

文字列の半角・全角 変更をおこなうサンプル mb_convert_kana - カナを(”全角かな”、”半角かな”等に)変換する mb_convert_kana ( string $str ] ) : string 文字列 str に関して「半角」-「全角」変換を行います。 この関数は、日本語のみで使用可能です。 パラメータ str 変換される文字列 option 変換オプション オプション意味r...
配列操作

【PHP】指定した値が配列にあるかチェックする in_array()

PHPで指定した値が配列にあるかチェックするサンプル in_array - 配列に値があるかチェックする in_array ( mixed $needle , array $haystack ) : bool haystack 内の needle を検索します。strict が設定されていない限りは型の比較は行いません。 コード $arr = ; var_dump(in_array(2, $arr...
Math関数

【PHP】小数点の切り捨て、切り上げ、四捨五入 floor(), ceil(), round()

小数点以下を切り捨てる floor - 端数の切り捨て floor ( float $value ) : float 必要に応じて value を丸めることにより、 value をこえない最大の整数の値を (float 型で) 返します。 コード print_r(floor(123.45)); 実行結果 123 小数点以下を切り上げる ceil - 端数の切り上げ ceil ( float $va...
配列操作

【PHP】配列をキーで並び替える(昇順・降順) ksort(), krsort()

PHPで配列をキーで並び替える(昇順) ksort - 配列をキーでソートする ksort ( array &$array ) : bool キーとデータの関係を維持しつつ、配列をキーでソートします。 この関数は、主として連想配列において有用です。第一引数の配列は「&$array 参照渡し」になりますので、指定した配列の中身がソートされます。 コード $arr = array('one&#...
配列操作

【PHP】指定した配列のキーをすべて返す array_keys()

PHPで指定した配列のキーをすべて返すサンプル array_keys関数は、配列 arrayから全てのキー (数値および文字列) を返します。 search_valueが指定された場合、 指定した値に関するキーのみが返されます。指定されない場合は、arrayから全てのキーが返されます。 返り値は、すべてのキーを配列で返します。 コード $arr = array( 'one' => ...
日付時刻

【PHP】指定年月の末日を取得する date(), strtotime()

date関数を使った 指定年月の末日を取得するサンプル date関数はローカルの日付/時刻を書式化する。 返り値は、日付を表す文字列を返します。timestampに数字以外が使用された場合はFALSEが返され、E_WARNING レベルのエラーが発生します。 コード echo date("今月末日は、t日です。\n"); echo date("各年月の末日\n"); echo date("Y-m-...
文字列操作

【PHP】数値を0埋めして桁を揃える sprintf()

数値を0埋めして桁を揃えるサンプル sprintf関数はフォーマットされた文字列を返す。 返り値は、フォーマット文字列に基づき生成された文字列を返します。失敗した場合、FALSEを返します。 コード echo sprintf('%03d', 10) . PHP_EOL; // 0埋め3桁の10を出力します。 echo sprintf("%04d¥n" 10); // 0埋め4桁の1...
変数操作

【PHP】変数の型を取得する gettype()

gettype関数を使い変数の型を取得する gettype関数は変数の型を取得します。 返り値 返された文字列は、以下のいずれかの値を持ちます。 "boolean" "integer" "double" "string" "array" "object" "resource" "resource (closed)" "NULL" "unknown type" コード echo gettype(tr...
文字列操作

【PHP】文字列の長さを取得する strlen()、mb_strlen()

文字列の長さを取得する strlen関数で文字列の長さを取得する strlen関数は、文字列の長さを取得します。 返り値は、文字列の長さを返します。文字列が空だった場合 0 を返します。 コード echo strlen('abcde'); 実行結果 5 mb_strlen関数で文字列の長さを取得します。 mb_strlen関数は、マルチバイトの文字でも1文字は1個と数えます。第2引...
配列操作

【PHP】指定したキーや添字が配列に存在するか確認 array_key_exists()

PHPで指定したキーや添字が配列に存在するか確認するサンプル array_key_exists関数は、指定したキーまたは添字が配列にあるかどうかを調べます。指定したkeyが配列に設定されている場合、array_key_exists()はTRUEを返します。keyは配列添字として使用できる全ての値を使用可能です。 コード $arr1 = array(1,2,3); $arr2 = array( &#...
コーヒーブレイク

【PHP】ブラウザを読み込むたびに画像が変わるサンプル

ブラウザを読み込むたびに画像が変わるサンプル コード $arr = array( '001.png' ,'002.jpg' ,'003.png' ,'004.jpg' ,'005.jpg' ); mt_srand(); echo '<img src="'. $arr.'" alt="" />&#...
ファイル操作

【PHP】ファイルの内容を全て文字列に読み込む file_get_contents

ファイルの内容を全て文字列に読み込む。 コード <?php $filename = 'sample.txt'; $contents = file_get_contents($filename); ?> 参考サイト PHP: file_get_contents - Manual ※指定したファイルの中身をすべて読みこんでくれます。
関数・クラス

【PHP】クラス内に定数constを定義してEnum(列挙型)のように使う

クラス内に定数を定義してEnumのように使用する コード class TestEnum { const January = 1;     const February = 2;     const March = 3;     const April = 4;     const May = 5;     const Jun = 6;     const July = 7;     const A...
関数・クラス

【PHP】関数の引数にデフォルト値を設定する

関数の引数にデフォルト値を設定する コード function sample($a=10, $b=20) { return ($a + $b) . PHP_EOL; } echo sample(); echo sample(50);  // デフォルト値 $a=10 が 50 で上書きされる echo sample(1, 2); // デフォルト値 $a=10 が 1 に、$b=20 が 2 にそれ...
変数操作

【PHP】Null や 空文字のチェック is_null、empty、isset

is_null関数を使った判定 is_nullは変数がNULLかどうか調べる関数です。 コード $value = NULL; if (is_null($value)) echo 'NULLです'; else echo 'NULLではありません'; 実行結果 NULLです empty関数を使った判定 emptyは変数が空(から)かどうか調べる関数です。 コード $va...
ファイル操作

【PHP】指定されたパスにあるファイル一覧を取得する glob()

指定されたパスにあるファイル一覧を取得する glob関数はパターンにマッチするパス名を探します。 返り値は、マッチするファイル/ディレクトリを含む配列を返します。 マッチするファイルがなかった場合には空の配列、失敗した場合にはFALSEを返します。 コード <?php $arrayPath = glob('/sample/folder/*'); // <-- 取得したいパスを指定 ...
日付時刻

【PHP】処理にかかる時間を測定する microtime()

microtime関数を使った処理にかかる時間の測定 microtime関数は現在の Unix タイムスタンプをマイクロ秒まで返します。 返り値は、デフォルトでは、microtime関数は"msec sec" 形式の文字列を返します。 コード $timeStart = microtime(true); // ここに測定したい処理を記述 sleep(1); $timeEnd = microtime(...
変数操作

【PHP】数値(数値形式)かどうかチェックする is_numeric()

is_numeric関数を使った数値判定 is_numeric関数は変数が数字または数値形式の文字列であるかを調べます。 返り値は、数値または数値形式の文字列である場合に TRUE、それ以外の場合にFALSE を返します。 コード echo is_numeric('123') ? "数値形式です。¥n" : "数値形式ではありません。¥n"; echo is_numeric(123...
文字列操作

【PHP】指定された文字列が含まれているか判定 strpos()

指定された文字列が含まれているか判定するサンプル strpos関数は文字列内の部分文字列が最初に現れる場所を見つけます。 返り値は、部分文字列が見つかった位置。見つからなかった場合、FALSEを返します。 コード if ( strpos('hello world', 'world') !== false) { echo '文字列は含まれています。' ...
文字列操作

【PHP】ヒアドキュメント構文で変数に代入

ヒアドキュメント構文で変数に代入するサンプル コード $str = <<<EOD あいうえお かきくけこ さしすせそ EOD; echo $str; EODの部分はAAAAAなど自由な文字列が使えます。 実行結果 あいうえお かきくけこ さしすせそ ※ヒアドキュメント構文内で、インデントやスペースをいれると、そのコードも変数に代入されます。 参考サイト PHP: 文字列 - Manual