LoginSignup
0
2

More than 1 year has passed since last update.

【php】配列操作基礎

Posted at

配列

配列すべてはechoでは出力できない

$team = array("勇者", "魔法使い");
print_r($team);

特定の要素のみを出力する場合はechoを用いる

echo $team[1];
魔法使い

要素の追加

$team[] = "ドラゴン";
print_r($team);
Array (
	[0] => 勇者
	[1] => 魔法使い
	[2] => ドラゴン
)

要素の削除(unset)

ただしunsetを用いた場合、その番号は歯抜けになる

unset($team[1]);
print_r($team);
Array (
	[0] => 勇者
	[2] => ドラゴン
)

特定の文字で区切って配列に追加(explode)

勇者,魔法使い,ドラゴン
$input = trim(fgets(STDIN));
$array = explode(",", $input);
print_r($array);

Array (
	[0] => 勇者
	[1] => 魔法使い
	[2] => ドラゴン
	)

要素数をカウント

echo count($array);

foreachで配列の値を取り出す

foreach(配列 as バリューを代入する変数)

foreach($array as $value) {
	//処理
}

特定の値で配列を埋める

array_fill(最初のインデックス, 埋める個数, 埋める内容)

$a = array_fill(0, 5, "森");
print_r($array_fill);
Array (
	[0] => 
	[1] => 
	[2] => 
	[3] => 
	[4] => 
)

連想配列

配列名 = array(key => value)

$a = array(
	"ロングソード" => 4,
	"ショートソード" => 3
);
print_r($a);
Array (
	[ロングソード] => 4,
	[ショートソード] => 3
)

連想配列の追加

$add["ダガー"] = 5;
print_r($add);
Array (
	[ダガー] => 5;
)

連想配列の削除

unset(配列名[key]);

unset($a["ロングソード"]);

連想配列の整理

  • sort(配列);
    配列のvalueを小さい順(1,2,3,,や あ,い,う,, という順)に並び替えます。
    連想配列に対して実行するとキーが失われるので注意。

  • asort(配列);
    連想配列のvalueを小さい順(1,2,3,,や あ,い,う,, という順)に並び替えます。

  • arsort(配列);
    連想配列のvalueを大きい順(3,2,1 や う,い,あ という順)に並び替えます。

  • ksort(配列);
    連想配列のkeyを小さい順(1,2,3,,や あ,い,う,, という順)に並び替えます。

  • krsort(配列);
    連想配列のkeyを大きい順(1,2,3,,や あ,い,う,, という順)に並び替えます。

foreachで連想配列の値を取り出す
foreach(配列 as キーを代入する変数 => バリューを代入する変数)

foreach($array as $key => $value){
	//処理
}

重複した配列要素を削除

array_unique

 $array = ["one", "two", "three","two"];
 $unique = array_unique($array);
 
 print_r($unique);
Array
(
 [0] => one
 [1] => two
 [2] => three
)

配列の中を検索

in_array(string, array)

$array = array("Mac", "NT", "Irix", "Linux");
if (in_array("Irix", $array)) {
    echo "true";
}
true

要素の先頭を削除し、要素を詰める

$fruits = array("いちご", "りんご", "ぶどう", "ばなな");
array_shift($fruits);
var_dump($fruits);
array(3) {
  [0]=>
  string(9) "りんご"
  [1]=>
  string(9) "ぶどう"
  [2]=>
  string(9) "ばなな"
}
0
2
0

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
2