かもメモ

自分の落ちた落とし穴に何度も落ちる人のメモ帳

2023-01-01から1年間の記事一覧

PHP 文字列中に変数で値を埋め込むやつのメモ

"Hello, xxxx!": "こんにちは、xxxxさん!" みたいな key-value で翻訳テキストを出せる機能を作っていて PHP で既定の文字列に変数を埋め込む方法を何パターンかやってみたのでメモ sprintf ・ vsprintf 所謂文字列のフォーマットに使うメソッドを利用する…

PHP 文字列中変数展開に関数は使えない?

PHP の文字列中変数展開が奇妙だったのでメモ 環境 PHP v8.2 変数展開 " (ダブルコーテーション)中に {$変数} で変数展開が出来る "Hello, Ichigo!" 定数は展開できない "Hello, {ICHIGO}!" 定数はそのまま出力される 関数も展開できない

PHP JSON デコードのエラーハンドリングのメモ

PHP v7.3 以降なら json_decode の第4引数に JSON_THROW_ON_ERROR を渡すことでデコード失敗時に JsonException がスローされるようになる

PHP array_reduce を途中で break したい

要件 JSON ファイルのキーを. 繋がりにした文字列が渡される キーを辿って最後の値を返す キーを辿って値にたどり着けなかった場合は最後のキーを返す 方針 渡された文字列を explode で分割して配列にする 分割した配列を reduce して JSON のキーを辿って…

PHP class の例外処理がキャッチできないにハマる

PHP

namespace を使っているクラス内では `\` で始まらないクラスは同じ namespace のクラスだと解釈される。グローバルなクラスは `\` 始まりで呼び出す必要がある

PHP class プロパティ定義で Constant expression contains invalid operations

Class プロパティは宣言時に初期値を設定することもできますが、 初期値は 定数 値でなければなりません。 トノコト

PHP Boolean の型指定にハマる

PHP

`true` / `false` の型は `boolean` ではなく `bool`

WordPress 多言語化対応 Bogo で locale の投稿だけ取得したい

get_posts を使う場合は `'suppress_filters' => false` パラメーターを使うと現在の locale の投稿のみが取得できる

WordPress ネストしてるテンプレートに変数を渡したい

WordPress のテーマでテンプレートを分割して分割したテンプレートに呼び出し元から変数を渡したい場合は公式の get_template_part を使うのがパスの問題も無く意図しない変数の上書きもないので良さそうです!

JavaScript 通常の input[type="text"] で妥当な日付を入力させたい

日付の入力は input[type="date"] がデバイスの選択 UI が表示され存在しない日付が選ばれることもなく使いやすいと思っているのですが、今回 PC のブラウザはカレンダーが表示されたりしなかったり、入力が同じ input の中で年月日別になってたりするのが使…

PHP もアロー関数書けたのですね!

PHP

PHP 7.4 からアロー関数 (Arrow Function) が使えるようになっていたので触って見たメモ Arrow Function 書式 fn(argument) => expr JavaScript のアロー関数との違い fn キーワードが必要 処理部分は { } で囲ったブロックが使えない 文末の ; は必須 $x +…

PHP 配列のキーとインデックスについてのメモ

PHP

PHP の ksort や array_filter を使っていて整数キーを与えた配列をループさせた際のインデックスで少し戸惑ったのでメモ 環境 PHP v8.2.0 tehplayground.com 環境でテスト PHP の配列のキーとインデックスは同じ整数でも別物 配列 key は、整数 または 文字…

PHP 配列の要素を任意の順番に並び替えたい

PHP

PHP で順番がランダムで渡される配列から特定の要素を特定の順番に移動させた配列を作成したい 環境 PHP 8.2.0 要件 順番がランダムになる ['Mizuki', 'Mikuru', 'Aoi', 'Ichigo', 'Otome', 'Yurika', 'Ran', 'Kaede'] という配列があり、先頭を固定して ['I…