PHP 配列
今回は、配列、連想配列をやります。初期化、セット/ゲット、サイズ
配列のループ
配列の要素追加、削除
スタック、キュー
連想配列
初期化、セット/ゲット、サイズ
配列の初期化、値のセット/ゲット、配列のサイズ取得は以下のようにやります。
<?php
// 配列の初期化は array() とします。
$ary = array();
// データの出し入れは添字を指定します。
$ary[0] = "Hello";
echo $ary[0];
// データを最後に追加するには[]でアクセスします。
$ary[] = "World";
echo $ary[1]."<br />";
// 配列のサイズを取得するにはcount()を使用します。
echo count($ary);
?>
実行イメージ 
ページのトップへ戻る
配列のループ
配列のループには foreach、for がよく使われます。
<?php
$ary = array("A", "B", "C", "D", "E");
echo "\$ary as \$value<br />";
foreach ($ary as $value) {
echo $value . "<br />";
}
echo "<hr />\$ary as \$key => \$value<br />";
foreach ($ary as $key => $value) {
echo $key . " => " . $value . "<br />";
}
echo "<hr />for \$ary[\$i]<br />";
$max = count($ary);
for ($i = 0; $i < $max; $i++) {
echo $ary[$i] . "<br />";
}
?>
実行イメージ 
ページのトップへ戻る
配列の要素追加、削除
配列の要素追加、削除の両方ともarray_splice関数でできます。引数は以下になります。array_splice(配列 , 削除開始位置 , 削除する長さ , 削除する場所に追加する配列(または文字列))
追加のみの場合、削除する長さ に0を指定します。
配列の指定より後ろを削除する場合、配列と削除開始位置 のみ指定します。
<?php
$ary = array("A", "B", "C", "D", "E");
echo '配列の途中要素に埋め込み<br />';
echo 'array_splice($ary,1,0,"XX");<br />';
array_splice($ary,1,0,"XXX");
echo "<pre>";
print_r($ary);
echo "</pre>";
echo '<hr />配列の途中要素を削除<br />';
echo 'array_splice($ary,3,1)<br />';
array_splice($ary,3,1);
echo "<pre>";
print_r($ary);
echo "</pre>";
echo '<hr />配列の指定より後ろをすべて削除<br />';
echo 'array_splice($ary,1)<br />';
array_splice($ary,1);
echo "<pre>";
print_r($ary);
echo "</pre>";
?>
実行イメージ 
ページのトップへ戻る
スタック、キュー
後入れ先出し、先入れ先出しもできます。
<?php
$ary = array("A", "B");
echo "<pre>";
print_r($ary);
echo "</pre>";
echo "array_push W<br />";
array_push($ary, "W");
echo "<pre>";
print_r($ary);
echo "</pre>";
echo "array_pop<br />";
echo array_pop($ary);
echo "<pre>";
print_r($ary);
echo "</pre>";
echo "array_unshift X<br />";
array_unshift($ary, "X");
echo "<pre>";
print_r($ary);
echo "</pre>";
echo "array_shift<br />";
echo array_shift($ary);
echo "<pre>";
print_r($ary);
echo "</pre>";
?>
実行イメージ 
ページのトップへ戻る
連想配列
連想配列も普通の配列と同じように使えます(配列のところで使った関数は省略しますが、同じように使用できます)。
<?php
// キー => バリューという指定をします
$ary = array('aaa' => "abc");
// 添字の代わりにキーを指定します
$ary['bbb'] = "def";
echo "<pre>";
print_r($ary);
echo "</pre>";
// ループ
foreach ($ary as $key => $value) {
echo $key . " => " . $value . "<br />";
}
echo "<br />";
//キー存在チェックはarray_key_existsを使用します
echo "array_key_exists<br />";
if(array_key_exists('aaa', $ary)){
echo "true<br />";
}
if(!array_key_exists('ccc', $ary)){
echo "false";
}
?>
実行イメージ 
ページのトップへ戻る