This article is a Private article. Only a writer and users who know the URL can access it.
Please change open range to public in publish setting if you want to share this article with other users.

配列と繰り返し処理

Posted at

配列

<?php
$arry = ['taro','hanako', 'jiro'];
「hanako」だけ別の名前(sachiko)に変更
<?php
$arry = ['taro','hanako', 'jiro'];
$arry[1] = 'sachiko'
配列の追加
<?php
$arry = ['taro','hanako', 'jiro'];
$arry[] = 'saburo';

繰り返し処理(for文)

<?php
$arry = ['taro','hanako', 'jiro', 'saburo'];

for($i = 0; $i < 4; $i++){
    echo $arry[$i];
}
実行結果
tarosachikojirosaburo

一般的な使い方

数字指定(4)のような使い方はあまりしない。
count($arry);で配列の長さをカウントで取得する。

<?php
$arry = ['taro','hanako', 'jiro', 'saburo'];

for($i = 0; $i < count($arry); $i++){
    echo $arry[$i];
}

繰り返し処理(foreach)

<?php
$arry = ['taro','hanako', 'jiro', 'saburo'];

foreach($arry as $v){
    echo $v;
}
実行結果(for文と同じ)
tarosachikojirosaburo

インデックスも付与する場合

<?php
$arry = ['taro','hanako', 'jiro', 'saburo'];

foreach($arry as $i => $v){
    echo $i, $v;
}
実行結果

インデックス番号が付与される

0taro1sachiko2jiro3saburo

配列の中に配列

<?php

$arry = [
  ['table', 1000],
  ['chair', 100],
  ['bed', 10000],
];

foreach($arry as $val){
    print_r($val);
}
実行結果
Array([0]=> table[1]=> 1000)
Array([0]=> chair[1]=> 100)
Array([0]=> bed[1]=> 10000)
配列中にある配列の1つ目と2つ目の要素を表示
<?php

$arry = [
  ['table', 1000],
  ['chair', 100],
  ['bed', 10000],
];

foreach($arry as $val){
    echo "{$val[0]}は{$val[1]}円です。";
}
実行結果
tableは1000円です。
chairは100円です。
bedは10000円です。
配列中にある配列の要素を変更
<?php

$arry = [
  ['table', 1000],
  ['chair', 100],
  ['bed', 10000],
];

$arry[1][1] = 500;

foreach($arry as $val){
    echo "{$val[0]}は{$val[1]}円です。";
}
実行結果

chairの値段が変えられる

tableは1000円です。
chairは500円です。
bedは10000円です。
配列の最初の要素を削除
<?php

$arry = [
  ['table', 1000],
  ['chair', 100],
  ['bed', 10000],
];

array_shift($arry):

foreach($arry as $val){
    echo "{$val[0]}は{$val[1]}円です。";
}
実行結果

1番最初の要素が削除される

chairは500円です。
bedは10000円です。
配列の最後の要素を削除
<?php

$arry = [
  ['table', 1000],
  ['chair', 100],
  ['bed', 10000],
];

array_pop($arry):

foreach($arry as $val){
    echo "{$val[0]}は{$val[1]}円です。";
}
実行結果

1番最初の要素が削除される

tableは1000円です。
chairは500円です。
配列の指定の要素を削除
<?php

$arry = [
  ['table', 1000],
  ['chair', 100],
  ['bed', 10000],
];

//第1引数が開始位置、第2引数が削除数
array_splice($arry, 1, 1):

foreach($arry as $val){
    echo "{$val[0]}は{$val[1]}円です。";
}
実行結果

指定の要素(今回は2番目(1)から1つ)が削除される

tableは1000円です。
bedは10000円です。
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