① array_slice() 配列の一部を切り取る
$queue = ["a", "b", "c", "d", "e"];
// 実行
$result = array_slice($queue, 2);
// 返り値
print_r($result);
結果 [0] => c [1] => d [2] => e
ある配列の、先頭から3つ目の要素を開始位置として、
それ以降を切り取る3つ目を開始位置とするには、第2引数に2を指定します。
$arySample = ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j'];
$aryOutput = array_slice($arySample, 5, 3, true);
print_r($aryOutput);
結果
[5] => f [6] => g [7] => h
② array_merge () 配列同士を結合する
//array array_merge ( array $配列 [, 追加する配列 $... ] )
$array1 = [1, 2, 3];
$array2 = [10, 20, 30];
$array3 = [100, 200, 300];
//配列を結合する
$array = array_merge($array1, $array2, $array3);
print_r($array);
結果
[0] => 1 [1] => 2 [2] => 3 [3] => 10 [4] => 20 [5] => 30 [6] => 100 [7] => 200 [8] => 300
③ array_merge(); 多次元配列を結合
//array_merge( 配列1, 配列2, ... );
$array1 = array('Web' => array('HTML', 'CSS', 'jQuery'), 'Num' => array(1821, 5234));
$array2 = array('London', 'Rio', 'Tokyo', 'Web' => array('Javascript', 'php'), 'Num' => array(1805, 5480));
/* 配列を結合 */
echo "<pre>";
print_r(array_merge_recursive($array1, $array2));
echo "</pre>";
同じキーがあれば合体してくれる
Array
(
[Web] => Array
(
[0] => HTML
[1] => CSS
[2] => jQuery
[3] => Javascript
[4] => php
)
[Num] => Array
(
[0] => 1821
[1] => 5234
[2] => 1805
[3] => 5480
)
[0] => London
[1] => Rio
[2] => Tokyo
)
④ shuffle() 配列をランダムにシャッフルする。
$ary = array(3 => 'b', 8 => 'a', 12 => 'c');
shuffle($ary);
foreach ($ary as $key => $value) {
print "キー(\$key) : {$key} 値(\$value) : {$value}<br/>\n";
}
⑤ sort() 昇順 配列の中身をソートしてくれる
$money = [100, 50, 20, 4000];
sort($money);
var_dump($money);
結果
array(4) { [0]=> int(20) [1]=> int(50) [2]=> int(100) [3]=> int(4000) }
➅ rsort() 降順 配列の中身をソートしてくれる
$money = [100, 50, 20, 4000];
rsort($money);
var_dump($money);
結果
[0]=> int(4000) [1]=> int(100) [2]=> int(50) [3]=> int(20)
⑦ asort() 連想配列valueを昇順 ⇒ もともとのキーは保持される
$fruits = array("d" => "lemon", "a" => "orange", "b" => "banana", "c" => "apple");
asort($fruits);
foreach ($fruits as $key => $val) {
echo "$key = $val<br>";
}
結果
c = apple
b = banana
d = lemon
a = orange
注意点
asort()したものは変数に代入しても整数しか返ってこない
結果を保持できないためそのまま元の変数をforeachしないといけない
⑧ arsort() 連想配列valueを降順 ⇒ もともとのキーは保持される
$fruits = array("d" => "lemon", "a" => "orange", "b" => "banana", "c" => "apple");
arsort($fruits);
foreach ($fruits as $key => $val) {
echo "$key = $val<br>";
}
結果
a = orange
d = lemon
b = banana
c = apple
注意点
arsort()したものは変数に代入しても整数しか返ってこない
結果を保持できないためそのまま元の変数をforeachしないといけない
⑨ ksort() 連想配列keyを昇順 ⇒ もともとのvalueは保持される
$a = array('K' => 32, 'D' => 77, 'A' => 8, 'B' => 9);
print_r($a);
/* 配列を要素のキーでソート */
var_dump(ksort($a));
echo "<br>";
print_r($a);
結果
Array ( [K] => 32 [D] => 77 [A] => 8 [B] => 9 ) bool(true)
Array ( [A] => 8 [B] => 9 [D] => 77 [K] => 32 )
注意点
変数に代入しても整数しか返ってこない
結果を保持できないためそのまま元の変数をforeachしないといけない
⑩ krsort() 連想配列keyを降順 ⇒ もともとのvalueは保持される
$a = array('K' => 32, 'D' => 77, 'A' => 8, 'B' => 9);
print_r($a);
echo "<br>";
/* 配列を要素のキーでソート */
krsort($a);
print_r($a);
結果
Array ( [K] => 32 [D] => 77 [A] => 8 [B] => 9 )
Array ( [K] => 32 [D] => 77 [B] => 9 [A] => 8 )
注意点
変数に代入しても整数しか返ってこない
結果を保持できないためそのまま元の変数をforeachしないといけない