_onichannn

【MySQL】文字列を連結する。

めも。

例。

SELECT CONCAT_WS('-', col_1, col_2) as col_12 FROM table_name 

上記のSQLは「col_1」と「col_2」の値を「-」で連結した結果がかえってくる。
CONCAT_WS()関数は、第1引数に連結文字列を、それ以降の引数(任意)に連結対象の文字列(またはカラム)を指定する。
上記の例は、関数の出力結果に「col_12」というカラム名をつけて取得している。

 

【Excel】行と列を入れ替える方法。

■お手軽な方法

1, 行列を入れ替えたい範囲を指定する。

1

2, 「Ctrl + C」 でコピーした後、貼り付けたいセル上で右クリック。「形式を選択して貼り付け(S)」→「形式を選択して貼り付け(S)」を選択。

2

3, 出てきたダイアログの下部、「行列を入れ替える(E)」のチェックを入れ、「OK」をクリック。

3

4, すると下記のように入れ替えた結果を出力してくれる。

4

 

■おまけ(関数を使う方法)

1, 行列入れ替え後の表を貼り付けたい範囲を指定する。

5

2, その状態のまま、上の値入力欄に「=transpose(」と入力。
※閉じカッコ「)」は入力しないこと。

6

3, 範囲選択状態になっているのを確認した後、行列を入れ替えたい範囲をドラッグアンドドロップで指定する。

7

4, transpose関数の閉じカッコを入力する。

8

5, この状態で「Ctrl + Shift + Enter」を入力する。すると指定した範囲に行列入れ替え後のデータが貼り付けられる。
※選択範囲をオーバーしたデータは破棄されるので注意されたし。

9

 

【Javascript】selectorAPIで取得したinput要素を操作する。

メモ。

// 要素を取得して
var input = document.querySelector('*[name="user"]');
// 値を設定してみる
input.value = 'hogehoge';

// select要素も上記のようにvalue属性を設定してやればOK
var select = document.querySelector('select');
// 値を設定
select.value = 1234;

// submit要素を取得してデータを送信したい場合
var submit = document.querySelector('input[type="submit"]');
// 下記のようにsubmitする。
submit.form.submit();

 

【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

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

 

【PHP】PHP.5.4から関数の返り値が配列だった場合、要素へ直接アクセス出来るようになった。

めも。

下記例。

function a() {
	return [
		'one' => 'aaa',
		'two' => 'bbb',
		'three' => 'ccc'
	];
}

$a = a()['two'];
var_dump($a);

↓

string(3) "bbb"

※PHP5.3までは上記の記述方法をするとシンタックスエラーとなり処理がストップする。