配列
<?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円です。