- 1. PHP デバック方法 var_dump
- 2. PHP削除機能実装方法
- 3. PHP、functionの呼び出し方法
- 4. #1【PHP】SQL(SELECT count(*))実行時の戻り値パターンと条件分岐
- 5. 【PHP8】 PHP8技術者認定初級試験 ベータ試験を受けてきた
- 6. PHP データベース接続
- 7. PHP Laravelを用いてExcel出力を行う
- 8. 【背伸び初心者授業③】returnの小技!if文内の条件をreturnする
- 9. 【Laravel 9.x】 artisanで失敗するエラーは./vendor/bin/sailが関係しているかも
- 10. PHP 配列
- 11. 【Laravel】artisanコマンドでエラーになった時の対処法
- 12. 【便利】phpでpdoするときにSQLクエリエラーを表示したいなぁ
- 13. PHP 条件分岐 ループ処理
- 14. 【背伸び初心者授業②】explode()の小技!explode()したものに変数を振り当てる
- 15. 【未経験・転職目指し組】Laravelでポートフォリオを作成しました。
- 16. PHPのバージョン切り替え【※phpenv未使用】
- 17. PHPで先月の1日を出力する方法
- 18. phpでhello world出力方法、2パターンの連想配列
- 19. 【 #ゆめみからの挑戦状 ★第5弾】に回答してみました
- 20. Python,Ruby,PHP,Java,JavaScript,Perlのファイル・ディレクトリ操作の比較
PHP デバック方法 var_dump
## はじめに
PHPのデバックに必ず使うといってもいいような方法とちょっとした工夫もつけくわえます。
## var_dump使ってみる
“`
“`
ブラウザで結果はこんな感じで返ってきます。
array(4) { [0]=> string(5) “apple” [1]=> string(6) “orange” [2]=> string(5) “Grape” [3]=> string(5) “melon” }“`
‘;//ここを追加 var_dump($array); echo ‘‘;//ここを追加
?>
“`これをつけると
“`
array(4) {
[0]=>
string(5) “apple”
[1]=>
string(6) “o
PHP削除機能実装方法
PhPの削除機能が実装できたため、備忘録として説明する。
前提として、削除ボタンの所に〜phpwo
①DBベース接続する
②ゲットデータを取得する
③SQLにデータ登録する
③値をセットをする
④SQLの実行をする
⑤データ登録後の処理をする“`php
//①DBベース接続
$pdo = new PDO(“mysql:charset={$char_set};dbname={$db};host={$host}”, $user, $password);// ②新規作成 start このページにアクセスしたら、
// ゲットデータを取得する。
if(isset($_GET[“id”])){ //変数に値が入っているかどうかを確認するためのisset関数
$id = $_GET[“id”]; //main.phpで入れた内容が入ってくる。try {//try〜catchすることができる。
//途中で何かしらのエラーが起こしたら、その場で処理が止まって、catchより以下がエラーで返却される。
//catchされず、滞りな
PHP、functionの呼び出し方法
function.phpにある関数をmain.phpへ呼び出す方法は下記の方法になる。
※呼び出す〜〜phpの
#1【PHP】SQL(SELECT count(*))実行時の戻り値パターンと条件分岐
現在エンジニアを目指してPHPを学習中です。
SQL実行結果の分岐を正しく記述できるようになるべく、
戻り値を確認したので、メモ。## 前提
以下のコードを実行しました。
DBカラム名等の細かい部分は本筋と関係ないため略します。“`php
$dbh = new PDO(hoge);
$sql = ‘SELECT count(*) FROM table WHERE column = hogehoge’;
//DBのオプションは下記(正直PDOオブジェクトをはじめ、下記設定の意味はまだよく分かってません、、)
PDO::ATTR_ERRMODE => PDO::ERRMODE_SILENT
PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_ASSOC
PDO::MYSQL_ATTR_USE_BUFFERED_QUERY => true//SQL実行、結果を$resultに
$stmt = $dbh->prepare($sql);
$stmt->execute;
$result = $stmt -> fetch (PDO::FETCH_ASS
【PHP8】 PHP8技術者認定初級試験 ベータ試験を受けてきた
先日2022/08/05、PHP技術者認定機構は[PHP8技術者認定初級試験](https://it.impress.co.jp/articles/-/23590)の実施を発表しました。
本試験は2023年春から開始となります。で、そのベータ試験が[2022/09/11に行われた](https://www.phpexam.jp/2022/08/05/php8bata/)ので受けてきました。
:::note info
一般社団法人BOSS-CON JAPAN(代表理事:吉政忠志、所在:東京都世田谷区、以下「BOSS-CON JAPAN」)は、BOSS-CON JAPAN内組織であるPHP技術者認定機構がPHP8技術者認定初級試験を2023年春より実施することを発表しました。本ベータ試験を2022年9月11日に東京で開催します。問題作成はPHP技術者認定機構 顧問でもある古庄道明氏が担当し、試験問題の監修をPHP技術者認定機構 エバンジェリストの三雲勇二氏(プライム・ストラテジー株式会社)が担当します。
:::# 試験について
## 試験内容
・問題数40問
・制限時間60分
PHP データベース接続
#### データベースに接続
##### 前準備
define(‘定数名’, ‘定数に入れる値’);
定数は変数とは違い、一度設定すると中身を変えるとは出来ない
“`
define(‘DB_DSN’, ‘接続先種別:host=ローカルホスト; dbname=データベースの名前; charset=文字コード’);
define(‘DB_USER’, ‘ユーザー名’);
define(‘DB_PASSWORD’, ‘パスワード’);
“`
この形式を基準として、データベースcri_sortableに接続をする。データベース自体はphpmyadminで作成する。##### 接続
“`
PHP Laravelを用いてExcel出力を行う
## 概要
PHP(Laravel)を用いてExcel出力を行う方法を共有します。
以前はPHPExcelが主流みたいでしたが、現在はその後継となるPhpspreadsheetというライブラリが一般的です。
(githubの[README](https://github.com/PHPOffice/PhpSpreadsheet#phpexcel-vs-phpspreadsheet-)にも記載されている通りPHPExcelよりもPhpspreadsheetを使うことが望ましいでしょう。)今回は社員名簿リストをExcelにて出力します。
ゴールイメージは下記のような感じです。
![スクリーンショット 2022-09-19 1.22.50.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/823188/67c030f6-a545-c7ed-72c0-3992fec2d755.png)## 今回やること
– Excel出力/ブラウザからダウンロード
– 列幅の調整
– 行の固定## 環境
“`
PH
【背伸び初心者授業③】returnの小技!if文内の条件をreturnする
いつもどんな内容をreturnしていますか?
return $user;
return “登録しました”;
このように、何かしらの「結果」を返していることが多いと思います。以下は、お皿の数が足りているか確認する関数です。
“`php
$plateNum = ‘9’;
echo answerFromIdo($plateNum);function answerFromIdo($plateNum)
{
if($plateNum < 10){ $less = 10 - $plateNum; return $less . "枚足りなぃぃい!"; } else { return "足りてる。"; } } // 出力結果 1枚足りなぃぃい! ``` なるほど、1枚足りないようです。 if文の中で一度 "$plateNumが10枚より少ないか" を確認していますね。 今回は10枚でしたが、次回は11枚数えないといけなくなるかもしれません。 枚数が変わっても対応できるようにしましょう。 今回の小技はこのif文内を
【Laravel 9.x】 artisanで失敗するエラーは./vendor/bin/sailが関係しているかも
この現象は、私同様、Laravelを試してみようという人が中心に引っかかる罠だと思われる。
## 背景と対策
Laravelを下記のように立ち上げた際に、その後マニュアルやチュートリアル通りに進めようとすると、artisan呼び出しの際に様々なエラーが発生する。
下記はWindows環境でDocker Desktopを入れた後に、WSLから下記のように入力するだけで環境の構築が終わるとLaravelのマニュアルにあるので、それに倣った形だ。
“`bash
$ curl -s https://laravel.build/sample-app | bash
$ cd sample-app && ./vendor/bin/sail up
$ php artisan about
“`これらはartisanの呼び出しを `php artisan` から `./vendor/bin/sail artisan`に変更すると解決する。どこかに書いてあるのに、見逃しているんだろうな…。
## 見られる現象
少し試しているだけでもかなり引っかかった。
### 1. .env用のキー
PHP 配列
#### 配列
“`
$name = “鈴木太郎”;
“`
通常、変数には一つの値しか入れることができないが配列を使えば複数の値を一つの変数に入れることが可能になる。
“`
$name = [“鈴木太郎”,”鈴木次郎”,”鈴木三郎”];
“`
出力の時は添え字(インデックス)をつける
“`
echo $name[0].’
‘
echo $name[1].’
‘
echo $name[2]
配列は左から0,1,2と番号が振り分けされている。
配列内の要素をすべて取り出したいときはprint_rを使用する
print_r ($name);
“`
“`
$name[0] = ‘taro’;
$name[1] = ‘jiro’;
$name[2] = ‘saburo’;
“`
arrayを使わず直接添え字を指定して値を代入することも可能##### 連想配列
“`
【Laravel】artisanコマンドでエラーになった時の対処法
## はじめに
– Laravel9でアプリ作成中に、artisanコマンド実行後にエラーになって、色々試したので残しておきます。## 状況
– Laravel9で、ルート確認するコマンド実行後に、下記エラーあり。
“`
$ php artisan route:list# エラー内容
PHP Fatal error: Composer detected issues in your platform: Your Composer dependencies require a PHP version “>= 8.0.2”. You are running 7.4.27. in /Users/xxxxxx/Desktop/project/laravel-study/vendor/composer/platform_check.php on line 24Fatal error: Composer detected issues in your platform: Your Composer dependencies re
【便利】phpでpdoするときにSQLクエリエラーを表示したいなぁ
## 初めに
僕・phpで無限ループを使って、MySQLサーバーをいじめるプログラムを作ったよ!でも、なんか動かないみたい。サーバーくん、どうして?サーバー・無限ループを仕掛けて俺をこき使うような奴には教えねーよ
俺・しょぼん
俺・あ、そうだ、MySQLサーバーくんに聞いてみたらいいかもw
俺・MySQLサーバーくーん、教えて〜
## エラー表示の魔法のコード
“`php
$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
“`
pdoの途中に、このコードを挟み込みましょう。
例えば、
“`php
try {
// DB接続
$pdo = new PDO(
‘mysql:host=ホスト名;dbname=データベース名;’,
”,
”,
[PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_ASSOC]
);$pdo->setAttribute(PD
PHP 条件分岐 ループ処理
### 条件分岐
##### if文
“`
if ($ageB < 20) { $message = "こどもだ"; } elseif ($ageB < 59) { $message = "おとなだ!"; } else { $message = "おじいちゃんかな?"; } echo $message; ``` 基本的な文法はrubyと同じ。if後が真の条件。elseifでif後が偽の場合、真の条件。そのほか偽の条件をelseで 処理する。 ##### 三項演算子 もう一つの条件分岐の書き方 ``` (条件)? 真のときの処理:偽のときの処理; $message = ($ageB > 20) ? “大人ってことで” : “子どもってことで”;
echo $message;
“`
複数条件は指定できないが、if elseよりもコード量が少ないため便利。### ループ処理
##### for文
“`
for(最初の値;ループ上限;値の増減){
実行する処理;
}for($i=0;$i<10;i++){ echo $i; } 出力は0123456789となる
【背伸び初心者授業②】explode()の小技!explode()したものに変数を振り当てる
## 「ロミオとジュリエット」から読み解くexplode()
ロミオとジュリエットを例に、phpの関数であるexplode()を解説していきます。
“`php
$couple = “ロミオとジュリエット”;
“`
有名なカップルですね。それではこの2人を`引き剥がし`ましょう。
“`php
$couple = ‘ロミオとジュリエット’;$people = explode(‘と’, $couple);
var_dump($people);// 出力内容
array(2) {
[0]=>
string(9) “ロミオ”
[1]=>
string(18) “ジュリエット”
}
“`
使い方はなんとなく理解いただけたでしょうか?
これでいろんなカップルを分けることが出来ますね!## 本題 : explode()したものに変数を振り当てる。
ロミオとジュリエットを男女で分けたいな…そんなあなたに朗報です。
ロミオを`$man`へ、ジュリエットを`$woman`に入れる方法があります。“`php
$couple = ‘ロミオとジュリエット’;[$
【未経験・転職目指し組】Laravelでポートフォリオを作成しました。
## はじめに
プログラミング歴7ヶ月(某プログラミングスクールで学習)の実務未経験者がLaravel等でポートフォリオを制作しましたので紹介していきたいと思います!(作成期間1ヶ月強)
今後もアップデートしていくのでフィードバックなど頂けますと嬉しいです。### 作者のスペック
年齢は29歳で、今までにプログラミング経験は全くありませんでした。
何か誇れるスキルを身につけたいと思いプログラミングに挑戦する決意を固めました!
地元の町役場で公務員として勤めながら、スクールでプログラミングを学習しました。現在は公務員を退職し、エンジニアとして働くために転職活動中です!
よろしくお願い致します。## アプリの概要
今回、制作したアプリケーションがこちら。https://gohanoyatsu.herokuapp.com/home
『Gohan.Oyatsu』は、和歌山県内の素敵な飲食店をもっと世の中に広めたい、盛り上げたいという思いから作成したアプリケーションです。
簡単にいうと、参加型の飲食店掲載アプリとなっています。
スマホやタブレット用にレイアウトを作成していな
PHPのバージョン切り替え【※phpenv未使用】
![WP-eye-catch(1).png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1051129/993e7408-9751-9594-43f0-6cf9ad74151e.png)
### はじめに
PHP(Laravel)で自分の環境と開発環境のバージョンが違うのが原因で、本番環境でデプロイする際にエラーが出てしまい、原因解明に時間がかかってしまいました。
そこで今回はターミナルだけでPHPのバージョンを変更できる方法をご紹介します。
### 下準備
①ターミナルを立ち上げ以下のコマンドを打つ
“`
php -v
“`
こんな風に返ってきます。PHPのバージョンは7.4です。
“`
PHP 7.4.30 (cli) (built: Jun 9 2022 09:31:00) ( NTS )
Copyright (c) The PHP Group
Zend Engine v3.4.0, Copyright (c) Zend Technologies
with Zend OPcache v7.4.
PHPで先月の1日を出力する方法
## この記事を作成しようと思った理由
バッチ処理で月初に先月の1日から末日までの集計データを出力する必要があり下記のコードを見たが、これがどういう風な処理をしているのか理解できていなかったので、今回まとめることにしました。“`
# 今回理解したいコード
$start_date = date(“Y/m/01 00:00:00″, strtotime(date(‘Y/m/01’) . ” – 1 day”));
“`## 処理についての説明
前提として今日の日付を「2022年9月15日」として話をしていきます。
まず、この処理で行っていることを分解していきます。ここで行われている処理について説明します。
“`
strtotime(date(‘Y/m/01’) . ” – 1 day”)
“`
この処理は、今日の日付(2022年9月15日)から−1日しているという処理になります。
Y(今日の日付の年)、m(今日の日付の月)、d(今日の日付の日)となるので、
echo date(“Y/m/d” strtotime(date(‘Y/m/d’) . “
phpでhello world出力方法、2パターンの連想配列
基本知識
“`javascript
“`
PHPで連想配列、その1
“`javascript“ST”,
“age” => 20,
“home” => “kagawa”
];echo “
"; print_r($person3); echo "“;
//その②
$person4 = [];
$person4[“name”] = “TY”;
$person4[“age”] = 30;
$person4[“home”] = “tokyo”;echo “
"; print_r($person4); echo "“;
?>
“`
PHPで連想配列、その2
“`javascript
//その①
let person5 = {
name: “太郎”,
age: 26,
【 #ゆめみからの挑戦状 ★第5弾】に回答してみました
こちらで開催されていた【ゆめみからの挑戦状 第5弾】に、私もいくつか回答してみました。
【 #ゆめみからの挑戦状 ★第5弾】
シリーズ初の PHP 問題です?✨【お題】
以下のぐちゃぐちゃな配列を期待されている形に整形して出力してください【回答方法】https://t.co/rZguz6aKJX またはソースコードのスクリーンショットを引用 RT
【結果発表】
9/15(木)【出題者】
まっぴー @mpyw pic.twitter.com/GSpE5Tekmp— 株式会社ゆめみ | YUMEMI (@yumemiinc) September 8, 2022
出題者は@mpywさんで、今回の出題内容は
“`php
$in = [
[‘2nd’ => ‘two’, ‘four’ => ‘4th’],
‘three’ => ‘3rd’,
[‘one’ => ‘1st’],
’10th’ => ‘ten’,
[‘6th’ => ‘six’],
‘5th’ => ‘five’,
‘seven’ => ‘7th’,
[‘fourteen’ => ’14th’, ’11th’ => ‘eleven’],
[‘8th’ => ‘eight’],
‘thirteen’ => ’13th’,
’12th’ => ‘twelve’,
‘nine’ => ‘9th’,
[’15th’ => ‘fifteen’],
];
“`という、キーと値の関係も配
Python,Ruby,PHP,Java,JavaScript,Perlのファイル・ディレクトリ操作の比較
Python,Ruby,PHP,Java,JavaScript,Perlのファイル・ディレクトリ操作の比較
# Python
https://qiita.com/supersaiakujin/items/12451cd2b8315fe7d054
# Ruby
https://qiita.com/prgseek/items/38f74d99b74baa3b42f7
# PHP
https://qiita.com/daichi87gi/items/111cd922991e4a18d1ef
# Java
https://qiita.com/suema0331/items/03330a663773204afc5f
# JavaScript
https://qiita.com/turmericN/items/28e8bc8fca07285ddffc
# Perl
https://perlz