0
2

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基礎(2)配列

Last updated at Posted at 2018-10-12

#配列

配列はよく使うデータ構造です。配列はarray構文で作成します。このarrayの引数は、各要素をカンマで区切り、「キー => 値」の組を引数とします。

<?php
$arr = array(
  'pascal' => 'パスカル',
  'edison' => 'エジソン', 
  'leibniz' => 'ライプニッツ',
);
var_dump($arr);
?>

キーは、整数または文字列です。値は任意の型を指定できます。これはハッシュと呼ばれるデータ構造です。

##連想配列(ハッシュ)を使う例

<?php
// PHP 5.4 以降ではこのようにも書けます 
$arr = [
  'pascal' => 'パスカル',
  'edison' => 'エジソン', 
  'leibniz' => 'ライプニッツ',
];
// 連想要素の総数
count($arr); // => 3
// この連想配列の中身がないときtrueを返す
empty($arr); // => false
// キー・値の要素を順番に出力する
foreach ($arr as $key => $value) {
  $k = $key;
  $v = $value;
}
//'edison'をキーにもつ値の取得
$a = $arr['edison']; // => 'エジソン'
 
// 要素の追加
$all = array_merge($arr,array('tesla'=>'テスラ'));
// 存在しないキーに対し値代入
$all['einstein'] = 'アインシュタイン';

?>

PHPにおいてはインデックスで要素にアクセスする添字配列とハッシュの間に違いはなく、データ構造としては1つだけで、キーを整数として扱えば添字配列と同じ扱いとなります。

##添字配列として使う例

<?php
$arr = []; // 空の配列の作成 []を付けて配列型であることを示します。
$numbers = [2, 3, 5, 7]; // 初期値を与えて生成(最初に4つの要素を入れる)
$fruits = ["orenge", "apple", "lemon"]; // 初期値を与えて生成(最初に3つの要素を入れる)

// 配列要素の総数
count($numbers); // => 4
// この配列の中身がないときtrueを返す
empty($arr); // => true
// 配列の要素を順番に出力する
for($i = 0; $i < count($fruits); $i++) {
  $s = $fruits[$i];
}
foreach ($fruits as $fruit) {
  $s = $fruit;
}
//2番目の値の取得(添字0が最初の要素を示します)
$a = $fruits[1]; // => apple

//値の変更(1番目の値を書き換える)
$fruits[0] = 'strawberry';
//配列の末尾に値を挿入する
array_push($fruits,'peach');
//配列の合成
$all = array_merge($fruits,$numbers);
//値の削除(第一引数は切り取り対象配列、第二引数は開始位置、第三引数は切り取り数)
$splice = array_splice($all, 2, 3);
?>

[<<PHP基礎(1)変数と型について]
(https://qiita.com/taka027/items/17fb1787f10be5ede7d0)

[PHP基礎(3)型の変換>>]
(https://qiita.com/taka027/items/d162b8eefad38c26bc05)

0
2
4

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

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?