配列の切り出し.
$arr = array(1, 2, 3, 4, 5, 6);
$arr2 = array_slice($arr, 0, 3);
var_dump($arr2);
/** 結果 */
array(3) {
[0]=>
int(1)
[1]=>
int(2)
[2]=>
int(3)
}配列のマージ.
$arr1 = array(1, 2, 3, 7, 9);
$arr2 = array(4, 8);
$arr3 = array(5);
$arr4 = array_marge($arr1, $arr2, $arr3);
var_dump($arr4);
/** 結果 */
array(8) {
[0]=>
int(1)
[1]=>
int(2)
[2]=>
int(3)
[3]=>
int(7)
[4]=>
int(9)
[5]=>
int(4)
[6]=>
int(8)
[7]=>
int(5)
}配列からキーの一覧を取得する
$arr = array("a" => 1, "b" => 2, "c" => 3);
$keys = array_keys($arr);
var_dump($keys);
/** 結果 */
array(3) {
[0]=>
string(1) "a"
[1]=>
string(1) "b"
[2]=>
string(1) "c"
}配列から値のみを取得する
$arr = array("a" => 1, "b" => 2, "c" => 3);
$vals = array_values($arr);
var_dump($vals);
/** 結果 */
array(3) {
[0]=>
int(1)
[1]=>
int(2)
[2]=>
int(3)
}特定文字の配列を自動生成する
$a = array_fill(1, 5, '?');
var_dump($a);
/** 結果 */
array(5) {
[1]=>
string(1) "?"
[2]=>
string(1) "?"
[3]=>
string(1) "?"
[4]=>
string(1) "?"
[5]=>
string(1) "?"
}配列から重複したデータを削除します.
$a = array("a" => 1, "b" => 2, "c" => 3, "d" => 4, "d" => 5, "a" => 9);
$vals = array_unique($a);
var_dump($vals);
/** 結果 */
array(4) {
["a"]=>
int(9)
["b"]=>
int(2)
["c"]=>
int(3)
["d"]=>
int(5)
}配列から最初のキーを取得する
$arr = array("a" => 1, "b" => 2, "c" => 3);
$key = key(array_slice($arr, 0, 1));
var_dump($key);
/** 結果 */
string(1) "a"配列から最後のキーを取得する
$arr = array("a" => 1, "b" => 2, "c" => 3);
$key = key(array_slice($arr, count($arr) - 1, 1));
var_dump($key);
/** 結果 */
string(1) "c"array系を応用した関数
/**
* PDOを利用したINSERTクエリーの発行.
* @param object $dbh PDOの接続クラス.
* @param string $table テーブル名.
* @param array $values カラムと値の連想配列
* @return integer 成功の場合は1失敗の場合は-1を返します.
*/
function insertQuery($dbh, $table, $values) {
$sql = "INSERT INTO " . $table . "(" . join(", ", array_keys($values)) . ") VALUES(" . join(", " ,array_rale("?", count($values))) . " )";
$stmt = $dbh->prepare($sql);
if (!$stmt->execute(array_values($values))) {
print_r($dbh->errorInfo());
return -1;
}
return 1;
}このような応用ができます。
ほかにもあれば今後公開してみます。