戻る

配列とループ処理2

配列の全要素を簡単にループ処理するときに使える構文です。

JavaScript

配列の場合

<!DOCTYPE HTML>
<html lang="ja-JP">
<head>
<meta charset="UTF-8">
<title></title>
</head>
<body>
</body>
<script type="text/javascript">
var data = new Array("た","の","し","い","な");

var str = "";

for(var i in data){
	str += data[i];
}

document.getElementsByTagName("body")[0].innerHTML = str;
</script>
</html>

たのしいな

連想配列の場合

<!DOCTYPE HTML>
<html lang="ja-JP">
<head>
<meta charset="UTF-8">
<title></title>
</head>
<body>
</body>
<script type="text/javascript">
var data = {"た":"ta", "の":"no", "し":"shi", "い":"i", "な":"na"};

var str = "";

for(var key in data){
	str += key + ":" +  data[key];
}

document.getElementsByTagName("body")[0].innerHTML = str;
</script>
</html>

た:taの:noし:shiい:iな:na

PHP(foreach文)

基本形

<?php
header("Content-type: text/html; charset=utf-8");

$data = array("た","の","し","い","な");

foreach($data as $value){
	echo $value;
}

?>

たのしいな

拡張形

拡張形では配列の添字の部分も取得できます。

<?php
header("Content-type: text/html; charset=utf-8");

$data = array("た","の","し","い","な");

foreach($data as $key => $value){
	echo "{$key}:{$value}";
}

?>

0:た1:の2:し3:い4:な

拡張形(連想配列の場合)

<?php
header("Content-type: text/html; charset=utf-8");

$data = array("た"=>"ta","の"=>"no","し"=>"shi","い"=>"i","な"=>"na");

foreach($data as $key => $value){
	echo "{$key}:{$value}";
}
?>

た:taの:noし:shiい:iな:na

例:

<?php
header("Content-type: text/html; charset=utf-8");

$data = array("キャベツ"=>100, "レタス"=>200, "トマト"=>300, "しいたけ"=>400);

foreach($data as $value){
	echo $value ."円!<br>";
}

foreach($data as $key => $value){
	echo "{$key}は{$value}円です<br>";
}
?>

100円!
200円!
300円!
400円!
キャベツは100円です
レタスは200円です
トマトは300円です
しいたけは400円です

中カッコを使わないforeach文

<?php
header("Content-type: text/html; charset=utf-8");

$data = array("た","の","し","い","な");

foreach($data as $value):
	echo $value;
endforeach;
?>

たのしいな

foreachと参照渡し

<?php
header("Content-type: text/plain; charset=utf-8");

$data = array(10, 20, 30);

print_r($data);

foreach($data as &$value){
	$value = $value / 10;
}

print_r($data);
?>

Array
(
    [0] => 10
    [1] => 20
    [2] => 30
)
Array
(
    [0] => 1
    [1] => 2
    [2] => 3
)

inserted by FC2 system