foreach文でキーと値を取り出す

広告

前ページではforeach文を使って配列に含まれる要素の値を変数に格納しました。foreach文では要素の値の他にキーを取り出す構文も用意されています。書式は次のようになっています。

foreach (配列変数 as キー変数 => 値変数){
  実行する処理1;
  実行する処理2;
}

基本的な処理の流れに違いはありませんが、今回の構文では繰り返しが1回行われる毎に配列に含まれる要素の値を値変数に代入すると同時にキーの値をキー変数に代入します。

例えば次のように記述します。

$preflist = array('Tokyo' => '東京', 'Osaka' => '大阪');

foreach ($preflist as $key => $value){
  print $key.'=>'.$value;
}

繰り返しの度に配列の要素のキーと値を取り出して表示します。

サンプルプログラム

では簡単なプログラムで試して見ます。

sample9-1.php

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
 "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ja" lang="ja">
<head>
<meta http-equiv="Content-Type" content="text/html;charset=UTF-8" />
<title>PHPテスト</title>
</head>
<body>

<p>PHPのテストです。</p>

<p>
<?php
$preflist = array('Tokyo' => '東京', 'Osaka' => '大阪');

foreach ($preflist as $key => $value){
  print $key.'=>'.$value.'<br />';
}
?>
</p>

</body>
</html>

上記のファイルをWWWサーバのドキュメントルート以下に設置しブラウザからアクセスすると次のように表示されます。

foreach文でキーと値を取り出す

( Written by Tatsuo Ikura )