PHP関連のことを調べてみた2022年09月17日

PHP関連のことを調べてみた2022年09月17日

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弾】に、私もいくつか回答してみました。

出題者は@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のファイル・ディレクトリ操作の比較

Qiita > プログラミング言語の比較

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

元記事を表示

【背伸び初心者授業①】if文は横一列

背伸びしている初心者になろう!
本日はビックマックのようなif文をレタスだけにしていきます!

“`
本日の内容①if文を1行に。
本日の内容②少し複雑なif文も1行に。
“`
それではやっていきましょう!

## ① if文を1行に。

皆さんif文をどうやって書いていますか?
“` php:php
if($name == ‘木久扇’) {
return ‘黄色’;
} else {
return ‘黄色じゃない’;
}
“`
もし名前が「木久扇」だったら「黄色」を出力して、それ以外の名前だったら「黄色じゃない」と出力するようにしました。

このコードを1行で書くと…
“`php:php
$result = ($name == ‘木久扇’)? ‘黄色’ : ‘黄色じゃない’;
return $result;
“`
2行になりましたね。でもこれでほぼ1行になりました!
これは世にいう`三項演算子`ですが、名前は覚えなくても生きていける気がします。
(私も先ほど調べました。)

## ② 少し複雑なif文も1行に。

なんだかいろんな条件で分けない

元記事を表示

ブラックジャックの開発に時間をかけてみたら、報酬として開発スキルがレベルアップした。

# ♣︎. はじめに

コンソール画面で操作するブラックジャックゲームを、PHPで作りました。その個人開発の過程を記事にします。

操作した時のコンソール画面はこんな感じです。

![タイトルなし.gif](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/527226/8a00bf37-8060-b3b8-e124-080b427009ba.gif)

(テキストだとこんな感じです)

“`
root@9444efa94780:/var/www/html# php Main.php
ブラックジャックの設定をします。
プレイヤーの人数を入力してください。(1〜3)
?‍ 1
プレイヤー1名でゲームを開始します。

あなたの持っているチップは100ドルです。
ベットする額を入力してください。(1〜1000ドル)
? 10
10ドルをベットしました。

ブラックジャックを開始します。
あなたの引いたカードはハートの6です。
あなたの引いたカードはスペー

元記事を表示

PHP基礎

### PHPとは
HTMLやCSSといったマークアップ言語(クライアントサイド言語)ではなく、スクリプト言語(比較的単純なプログラムを記述するための、簡易的なプログラミング言語全般)の一種。
クライアントに見える範囲で動くものではなく、サーバー側でHTTPリクエストを受け取ったappacheの依頼に応じて、データを取り出したり、データを書き込んだり、状況によってhtmlを自動で作り出すなど動的なウェブページを作成したりすることが可能。
“`

/*で閉じる。php部分については省略可能*/

そのまま出力される




‘;
echo ‘Hello Word’;
/*出力はechoを使用する。また改行は’
‘を使う。rubyでは
のため注

元記事を表示

予約時刻表DEMO版を作りましたのでお裾分け

# 予約時刻表DEMO版を作りましたのでお裾分けを致します。
尚、予約確認画面などは御自身で制作くださいませ。
あくまでも雛形でありDEMO版ですので、誤動作などのバグが残っている可能性があります。
また、ソースコードにはあまりコメントが無いですがソースを追って頂けたらと思います。

どうぞ宜しくお願い致します?。

“`txt
肝心の確認部分は記載していないのにも訳があります。営業妨害になっては駄目だからです。そういう理由で確認部分以降は書いていません。
“`

https://github.com/taoka-toshiaki/reserve_demo1

“`php:index.php

元記事を表示

Python,Ruby,PHP,Java,JavaScript,Perlの文字列連結の比較

Qiita > プログラミング言語の比較

Python,Ruby,PHP,Java,JavaScript,Perlの文字列連結の比較

# Python

https://qiita.com/masa2223/items/cf3c4cc104e90d3c40d3

# Ruby

https://qiita.com/Kta-M/items/c7c2fb0b61b11d3a2c48

# PHP

https://qiita.com/horikeso/items/01463f5e17985428055c

# Java

https://qiita.com/supercell1023koeda/items/a548f2bdd811168e7c44

# JavaScript

https://qiita.com/saka212/items/11ce1f1d6316c1fbf15b

# Perl

https://perlzemi.com/bl

元記事を表示

mb_strlen()の文字列の長さは文字エンコーディングによって可変するという話

## 概要
**strlen()** は文字列の長さをバイト数で返し、
**mb_strlen()** は文字列の長さを取得するとよく書かれるが
そもそも文字コードはどうなっているのか?

## 答え
PHPの公式を見てみる

https://www.php.net/manual/ja/function.mb-strlen.php

説明には`文字列の長さを得る`とだけ書かれているが
パラメータにはしっかりと`$encoding`が書かれている
“`php
mb_strlen(string $string, ?string $encoding = null): int
“`

– **encoding**
encoding パラメータには文字エンコーディングを指定します。省略した場合、
もしくは **null** の場合は、 内部文字エンコーディングを使用します。

#### 内部文字エンコーディングとは?
PHP.iniで文字のエンコーディングを設定できるみたいです。

https://www.php.net/manual/ja

元記事を表示

【PHP基礎】foreachで注文票を作ってみましょう!

# foreachで配列の中身を取り出すとの復習
まずは以下のコードを通して、foreachの基礎を復習します。
もし、もうforeachのことは理解だったら、「配列とforeachを通して、注文票を作ってみましょう!」との部分へ飛んでください。

## コード

“`php
1 100,
6 ‘ビックマック’ => 490,
7 ‘ポテナゲ大’ => 500,
8 ‘サイドサラダ’ => 290,
9 ];
10
11 // 2. foreachで、配列のキーと値を一つずつ取り出す
12 foreach ($prices as $key => $price) {
13 echo $key.’ – ‘.$price.’円’.PHP_EOL;
14 }
“`

## コードを実行した結果
“`
コーラ – 100円
ビックマック – 490円
ポテナゲ大 – 500円
サイドサラダ – 290円
“`

## コードの説明
* __pri

元記事を表示

WordPressで少し高度な検索をする

## 投稿タグ名のあいまい検索 or タイトル or カスタムフィールド
“`php:functions.php
function post_content_to_meta_queries($where, $wp_query){
global $wpdb;

$meta_queries = $wp_query->get( ‘meta_query’ );
if( !$meta_queries || $meta_queries == ” ) return $where;

$where = str_replace($wpdb->postmeta . “.meta_key = ‘post_title’ AND ” . $wpdb->postmeta . “.meta_value”, $wpdb->posts . “.post_title”, $where);
$where = str_replace($wpdb->postmeta . “.meta_key = ‘post_content’ AND ” . $wpdb->postmeta . “.m

元記事を表示

「ログってなによ」Laravel

# ログとは

人間さん「ログを出力するとかロガーとか聞くけど」
人間さん「そもそもログってなんなのよ」

いぬ先生「急に来たね」
いぬ先生「storage/logs/laravel.log に出力されてるよ」

人間さん「ファイル見にいったけど」
人間さん「なにかずらずら書かれてることはわかった」
人間さん「でなんなの?」

いぬ先生「ここに書かれてるから読んでね」

https://readouble.com/laravel/8.x/ja/logging.html

人間さん「初っ端から何言ってるかわかりません!」

いぬ先生「うん!ごめんね!」
いぬ先生「ログは、アプリケーションの動作検証やユーザーのアクセス状況など」
いぬ先生「ある時点の事実を記録するものなんだ」

人間さん「なるほどなるほど」
人間さん「で、どういうことができるの?」

いぬ先生「例えば、アプリケーション運用での障害検知や障害の原因究明」
いぬ先生「データ分析での活用などがある」
いぬ先生「ログにはさまざまな利用用途があるから」
いぬ先生「正しいログ生成は重要なことなんだ」

人間さん「ログって大事なのね~」

元記事を表示

pickle install redisでシリアライザとしてigbinaryを有効にする方法

# 先に結論から

“`
# 先にigbinaryを入れる
pickle install igbinary -n

# オプションをテキストファイルに出力
echo “–enable-redis-igbinary” > redis-options.txt

# –with-configure-optionsでオプション指定のテキストを指定
pickle install redis -n –with-configure-options=redis-options.txt
“`

# 経緯

– php環境にredisクライアントを入れたい
– peclではなくpickleを使いたい
– 単に `pickle install redis` としてもigbinaryが有効にならない
– インタラクティブモードで実行され、プロンプトに対してyes/noで回答していくと有効になる
– Dockerfileでプロンプトに都度入力するのは困難
– pickleをバッチモードで実行しつつ、 `–enable-redis-igbinary` したい

元記事を表示

【 #ゆめみからの挑戦状 ★第5弾】解答の紹介と総括

ツイート貼りすぎてページロード重いですがご容赦ください

# 問題

@Yametaro さんメインで定期開催していた [#ゆめみからの挑戦状](https://twitter.com/hashtag/%E3%82%86%E3%82%81%E3%81%BF%E3%81%8B%E3%82%89%E3%81%AE%E6%8C%91%E6%88%A6%E7%8A%B6) ですが,今回は私から PHP に関連する問題として出題させていただきました。

“`php
‘two’, ‘four’ => ‘4th’],
‘three’ => ‘3rd’,
[‘one’ => ‘1st’],
’10th’ => ‘ten’,
[‘6th’ => ‘six’],
‘5th’ => ‘five’,
‘seven’ => ‘7th’,
[‘fourteen’ => ’14th’,

元記事を表示

Wikiレンタルサービスをつくってみた

# はじめに
こんにちは、ぴたんです。
Wikiを無料で作成できるサービス、「WikiChree.COM」を数ヶ月前に作りました。

https://wikichree.com/

# サービスについて
WikiChree.COM以前はWikiCというサービスでした。
ソフトウェアにはPukiWikiを利用しており、PukiWikiはPHPで書かれた和製のCMSであり、Wikiを簡単に立てることができる便利なWebソフトウェアです。それをベースとしてWikiChreeのシステムを作りました。つまり、WikiChreeはほぼPukiWikiのレンタルサービスです。
コントロールパネルで設定を変更したりユーザーを追加できたりプラグイン導入できたりと割とカスタマイズできるようにしています。
サーバーにはCore Serverを使っています。

# お試しとサンプル
https://wikichree.com/TrialWiki/

https://wikichree.com/SampleWiki/

お試しとサンプルを載せています。

# 使い方
https://wikichree.com/

元記事を表示

Docker上でLaravelのプロジェクトを作成するまで 後半

前回の記事では、`Dockerfile`と各種コンテナの設定ファイルを記述しました。

今回の記事では、`docker-compose`について学んでいきます。
意外と難しくはないので頑張っていきましょう。

前回作成したディレクトリと、その中に入っているファイルは以下の通りでした。
“`
practice
docker
app
Dockerfile
php.ini
db
Dockerfile
my.cnf
web
Dockerfile
default.conf
“`
`app`,`db`,`web`それぞれのdockerイメージである`Dockerfile`を作成しました。
ちなみに、ディレクトリを3つに分けているのは、web3層アーキテクチャの構造をわかりやすくしているからです。
web3層アーキテクチャについては、以下の記事に詳しく書かれているので、ご覧ください

https:/

元記事を表示

世にも奇妙なPHPセッションの話

PHPでWEBサイトを構築していれば
当たり前のように使うのがセッション管理の仕組みです。
PHPセッションを管理する方法としては、3種類あります。

1. ファイル(デフォルト)
2. データベース
3. KVS

昔は1か2が主流でしたが、
最近では、KVS(Redisなど)が当たり前に使われるようになってきましたよね。
AWSでRedisが標準サポートされたのが大きいですね。

大規模サイトの場合、サーバを冗長化するのが一般的です。
その場合、どのサーバからアクセスしてもセッションの一意性を担保したり、
DBかKVSでセッションを共有するのが最もシンプルです。

2016年くらいに私が構築に関わった
とある大規模サイトがあります。
そのサイトは、年間売上100億級なので
パフォーマンス命です。

インフラ環境はAWSだったのですが、
当時のシステム制約上、KVSが気軽に利用できる状況ではありませんでした。

とはいえ、セッション管理がDBだと過剰負荷となり、
パフォーマンス的によろしくないです。
ということで、選択したのはファイル管理です。

前置きが長くてすみません(><);

元記事を表示

Python,Ruby,PHP,Java,JavaScript,Perlの四則演算の比較

Qiita > プログラミング言語の比較

Python,Ruby,PHP,Java,JavaScript,Perlの四則演算の比較

# Python

https://qiita.com/hiroyuki_mrp/items/d7e4c2d75e947ab99caf

# Ruby

https://qiita.com/mat827/items/ee569f6549b83bb954e2

# PHP

https://qiita.com/koala_56/items/7ed631f62cf0f225f5a6

# Java

https://qiita.com/takahirocook/items/748990882f2de7a630a1

# JavaScript

https://qiita.com/_haya_/items/dbe80010a0a8ac9d70b1

# Perl

https://perlzemi.com/blog/

元記事を表示

PHPの基本とCRUDとmysqlについて

▼CRUDとは、永続的なデータを取り扱うソフトウェアに要求される4つの基本機能である、
1.データの作成(Create)
2.読み出し(Read)
3.更新(Update)
4削除(Delete)
の頭文字を繋げた語

▼PHPMyAdminを使う中でデータベースの作り方で注意すること
  ・テーブルでcreate_at , update_atは入れる。更新日として使用する。

 ・idは数字のため「タイプはintを使用する」 「属性はunsigned」は「0」と「整数」しか受付ができなくなる
   また、AI 部分をチェックしてオートインクリメントをチェックする

 ・タイプの「VARCHAR」とは可変長の文字列を意味するデータ型 長さを一般的には「255」としている

 ・create_at , update_atの時間を表現するものは「TIMESTAMP(その時間、その瞬間をとるための時間)」
   デフォルト値を「CURRENT_TIME」でその瞬間の時間を表す

▼UsernameとPasswardを確認する方法
  MANP → webstart → MYSQL 

元記事を表示

【Livewire】queryStringのクエリにランダムな英数字を入れるとごく稀にINFになる

https://qiita.com/ast_and_kaya/items/c3bc931bca2b725bd1eb

↑の関連

## 前提
LivewireのComponentでは`$queryString`という変数をオーバーライドすることでURLにクエリを付与したり書き換えたり出来ます。
https://laravel-livewire.com/docs/2.x/query-string

例えば、web.phpで↓のようにコンポーネントへのルーティングを行い、
“`php

元記事を表示

OTHERカテゴリの最新記事