トッカンソフトウェア

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";
}

?>

			
実行イメージ




ページのトップへ戻る