0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

【PHP】配列を操作する関数まとめ

0
Last updated at Posted at 2021-03-11

PHPを学習しておりまして、アウトプットのために投稿させて頂きます。

配列操作関数まとめ

array_unshift

配列の先頭に値を追加

$scores = [30, 40, 50];

array_unshift($scores, 10, 20);
print_r($scores);
Array
(
    [0] => 10
    [1] => 20
    [2] => 30
    [3] => 40
    [4] => 50
)

array_push

配列の末尾に値を追加

$scores = [30, 40, 50];

array_push($scores, 60, 70);
print_r($scores);
Array
(
    [0] => 30
    [1] => 40
    [2] => 50
    [3] => 60
    [4] => 70
)

array_slice

先頭から指定した個数分の値を返す
array_slice(変数, 位置, 個数);のように書く

$scores = [30, 40, 50, 60, 70, 80];
$partial = array_slice($scores, 2, 4);
# 最後までを取得する場合は個数は省略できる
# 末尾から指定したい場合は($scores, -2)等とする

print_r($partial);

Array
(
    [0] => 50
    [1] => 60
    [2] => 70
    [3] => 80
)

array_splice

指定した位置から指定した個数分の値を取り除く
array_splice(変数, 位置, 個数);のように書く。

$scores = [30, 40, 50, 60, 70, 80];

array_splice($scores, 2, 1);
# 値を追加したい場合はarray_splice($scores, 2, 1, 100);のように書く

print_r($scores);

Array
(
    [0] => 30
    [1] => 40
    [2] => 60
    [3] => 70
    [4] => 80
)

sort

配列を小さい順に並び替える

$scores = [40, 50, 20, 30];

sort($scores);
# 大きい順に並べるときはrsortを使う
print_r($scores);

shuffle

配列をシャッフルする

$scores = [40, 50, 20, 30];

shuffle($scores);
print_r($scores);
Array
(
    [0] => 20
    [1] => 40
    [2] => 50
    [3] => 30
)
# 毎回ランダムにシャッフルされる

array_rand

指定した個数をランダムに取り出し、新たに配列を作成
*このとき取り出すのは値ではなく、キーを取り出す

$scores = [40, 50, 20, 30];
$picked = array_rand($scores, 2);
# 新しい配列を作るので、新しい変数に追加しています

print_r($picked). PHP_EOL;
# 値を取り出すためには以下のようにする
echo $scores[$picked[0]] . PHP_EOL;
echo $scores[$picked[1]] . PHP_EOL;
Array
(
    [0] => 1
    [1] => 2
)
50
20

array_fill

指定した位置から指定した個数分を値で埋める

$scores = array_fill(0, 5, 10);

print_r($scores);

Array
(
    [0] => 10
    [1] => 10
    [2] => 10
    [3] => 10
    [4] => 10
)

array_merge

配列同士をくっつけ、新しい配列を作る

$a = [3, 4, 8];
$b = [4, 8, 12];

$merged = array_merge($a, $b);
// $merged = [...$a, ...$b];#これも同じ意味
print_r($merged);
Array
(
    [0] => 3
    [1] => 4
    [2] => 8
    [3] => 4
    [4] => 8
    [5] => 12
)

array_unique

配列の中から一意の値を取り出す

$a = [3, 4, 8, 3];

$uniques = array_unique($a);
print_r($uniques);
Array
(
    [0] => 3
    [1] => 4
    [2] => 8
)

array_diff

配列同士を比較し、差分を取り出す

$a = [3, 4, 8];
$b = [4, 8, 12];

$diff1 = array_diff($a, $b);
print_r($diff1);

$diff2 = array_diff($b, $a);
print_r($diff2);
# diff1の実行結果
Array
(
    [0] => 3
)
# diff2の実行結果
Array
(
    [2] => 12
)

array_intersect

配列同士を比較し、共通項を取り出し、新しい配列を作る

$a = [3, 4, 8];
$b = [4, 8, 12];

$common = array_intersect($a, $b);
print_r($common);
Array
(
    [1] => 4
    [2] => 8
)

最後に

他にもまだまだありますが、今回は以上です!

0
0
2

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?