Archives by date

You are browsing the site archives by date.

【PHP】入力配列の中から指定したキーのみを抽出する。

PHP5.5より実装。

下記のような連想配列があったとする。

$array = [
	[
		'id' => 1,
		'key' => 3352,
		'name' => 'hoge',
		'email' => 'hoge@example.com'
	],
	[
		'id' => 2,
		'key' => 2265,
		'name' => 'fuga',
		'email' => 'fuga@example.com'
	],
	[
		'id' => 3,
		'key' => 7311,
		'name' => 'piyo',
		'email' => 'piyo@example.com'
	]
];

上記連想配列中の「email」要素のみを取り出したい場合、array_column()を用いると便利。

$emails = array_column($array, 'email');

var_dump($emails);

↓

array(3) {
  [0]=>
  string(16) "hoge@example.com"
  [1]=>
  string(16) "fuga@example.com"
  [2]=>
  string(16) "piyo@example.com"
}

また、第3引数にも入力配列中の要素を指定することで結果配列のキーに指定した要素の値を挿入してくれる。

$emails = array_column($array, 'email', 'key');

var_dump($emails);

↓

array(3) {
  [3352]=>
  string(16) "hoge@example.com"
  [2265]=>
  string(16) "fuga@example.com"
  [7311]=>
  string(16) "piyo@example.com"
}

 

【PHP】変数の評価結果をブーリアン値で取得する。

PHP5.5より追加。

どこで使うのかピンと来ないシリーズ。

$var = '0';

$res = boolval($var);

var_dump($res);

↓

bool(false)

 

PHP5.5より前バージョンでも、下記関数を実装すれば同様の処理となる。

if(!function_exists('boolval')) {
	function boolval($var) {
		return !!$var;
	}
}

【PHP】elseifとelse ifの違い。

めも。

$a = false;
$b = true;

// 波括弧を用いて記述する場合は「else if」と二単語に分割しても良い。
if($a) {
	echo '1';
} else if($b) {
	echo '2';
}

// コロンを用いて記述する場合は「elseif」と記述しなければならない。
if($a):
	echo '1';
elseif($b):
	echo '2';
endif;

基本的にelseとifは分割せず「elseif」と記述しておけばすべての場合に対応できる模様。

 

【PHP】for文に複数の式を記述する。

今更for文の仕様を知ったという。

まずは普通のfor文

for($i = 0; $i < 10; $i++) {
	echo '$i : '."$i\n";
}

↓

$i : 0
$i : 1
$i : 2
$i : 3
$i : 4
$i : 5
$i : 6
$i : 7
$i : 8
$i : 9

複数式を記述するパターン。

for($j = 0, $k = 0; $j < 10, $k < 30; $j++, $k += 5) {
	echo '$j : '."$j\n";
	echo '$k : '."$k\n";
}

↓

$j : 0
$k : 0
$j : 1
$k : 5
$j : 2
$k : 10
$j : 3
$k : 15
$j : 4
$k : 20
$j : 5
$k : 25

各式をカンマ「,」で区切ることで複数式を評価させることが可能。