php

array_mergeとarray_pushの違い

php

phpで配列に要素を追加するための2つのメソッドの違いについてのメモ。

phpでcurlを使う。

php

phpでcurlする。意外と簡単にできた。

連続した値の配列を作る。

php

phpでも美しく連番になっている配列を作る方法があった。

実行時引数を参照する。

php

phpでスクリプトを書く時に、実行時引数の利用方法を毎回検索してしまうのでまとめておく。

PHPでCLIな文字列URLエンコードアプリを書いた。

php

最近、APIアプリのテストでエンコードされた文字列が必要なることが多くなったので、PHPでCLIな文字列URLエンコードアプリを書いてみた。 とりあえずソースコード。 パスの通ったところに以下のようなPHPスクリプトを配置。 自分はホーム直下に.binディレク…

print_rについて調べてみた。

php

PHPの出力関数のprint_rが気になったので調べてみた。 これは引数に渡された変数の情報を詳しく表示し、配列などの場合には含まれる要素の情報をわかりやすい形で出力してくれる。 また、同様の関数var_dump、var_exportとの違いは出力形式の違いとのこと。 …

PHPでシリアライズ(文字列化)してみる。

php

実装上で配列・連想配列などで実装されているものをファイルなどに出力する場合、文字列に変換する必要がある。 PHPではserialize・unserializeを使用して、文字列への変換と読み込みを行う。 ['name'=>'Taro', 'age'=>18], 'user2'=>['name'=>'Jiro', 'age'…

ファイルへの書き込み・読み込みの実装。

php

ひさびさに、PHPでのファイルの読み書きに遭遇した。 仕事でも使うが普段は独自のラッパーを定義して使っているので、素のコードでは久しぶりに書いた。 ちなみに、PHPでのファイルの読み書きはこんな感じ。

配列の先頭の要素を操作するarray_shiftとarray_unshiftを使う。

php

配列に対して先頭(インデックス = 0)に対して値を取り出したり追加する時、PHPではarray_shiftとarray_unshiftを使用する。 2 [1] => 3) print_r($b); // 1 array_unshift($a, 4); print_r($a); // Array([0] => 2 [1] => 3 [1] => 3) array_shiftを実行…

array_intersectで配列の要素が別の配列にも含まれているか調べる。

php

ちょっとおもしろい関数だが、特定の配列に含まれいる要素が他の配列にも含まれているかを確かめるarray_intersectという関数がphpにある。 (参考: PHP: array_intersect - Manual) 1, 2, 3, 4, 5]; $b = ["b" => 1, 3, 5, 7, 9]; $result = array_inters…

array_fillを使って配列を初期化する。

php

PHPにおいて特定の値で埋められた配列を作成する際には、array_fillが利用できる。 ([0] => 1, [1] => 1, [2] => 1, [3] => 1, [4] => 1) $b = array_fill(3, 5, 2); print_r($b); // => ([3] => 2, [4] => 2, [5] => 2, [6] => 2, [7] => 2) 第一引数に始…

一時保存用フォルダに一意な名称のファイルを作成する。

php

生存期間の短い一時的なファイルを作成する場合、phpだと以下のようにすると所定の一時ファイル保存用フォルダに一意な名前の付いたファイルを置くことができる。

配列を簡単に操作できるarray_mapを使ってみる。

php

配列に対して一律に処理を行い、それらの結果を配列で受け取る。 こんなことがarray_map関数を使うことで実現できる。(参考: PHP: array_map - Manual) Array // ( // [0] => 1 // [1] => 4 // [2] => 9 // ) 「1, 2, 3」という値の入った配列に対して、…

mb_internal_encodingが使えない時の対応

php

今時アルゴリズムPHPプログラミングの写経をやっていて、mb_internal_encoding()という関数が定義されていないというエラーが発生した。 調べてみたところ、mbstringというPHPの外部モジュールが必要だが、上記書籍で説明されている仮想環境では標準では入っ…

PHPのグローバルスコープを使うときは明示的に指定する

php

最近になってPHPのスコープについて「グローバルなスコープと思っていても明示的に呼び出さないといけない」ということを初めて知った。 どういうことかというと、PHPではスクリプト全体で共有されているように見えても、ちゃんとglobalをつけて宣言しないと…

PHPで独自ソートを実装する

php

単純な昇順・降順ではなく、実装上の都合で特定の要素をソート基準として並べ替えたくなることが度々ある。 そんな時、PHPでは関数として並べ替えのルールを定義してソートする関数「usort」が用意されている。 3]; $arr[] = ["order" => 1]; $arr[] = ["or…

PHPでforeachする

php

過去に何度か検索してしまったので備忘録として。 PHPでforeachを実装する場合、以下のようになる。(参考)

PHPで特定の月の月初・月末の日付を取得する

php

PHPで任意の月の月初・月末の日付が必要な時、date()とstrtotime()を組み合わせることで簡潔に書けるようになる。 例として先月の月初・月末の日付を取得する場合はこんな感じ。 $start = date('Y-m-01', strtotime("-1 month")); // 先月の初日 $end = date…