PHP練習問題

PHP練習問題 問60


来年の新人に向けた超簡単な初心者向け問題を作成していこうと心も新たに穴埋め問題を作成しようと思います。

配列、ループ、条件分岐などの簡単なサンプルから問題を出してきます。
簡単なので、是非挑戦してください。

PHPをWindowsで実行したいのであれば、XAMPP(ザンプ)をインストールすると、自分のPCでも簡単に動作させることが出来ます。

インストール方法は、以下のサイトから。

WINDOWS XAMPP にて LARAVEL をインストール (XAMPP V1.8.3インストール)


phpedu60.php

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<meta http-equiv="X-UA-Compatible" content="IE=edge">
		<meta name="viewport" content="width=device-width, initial-scale=1.0">

		<title>tech.pjin.jp HTML5 Template</title>

		<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.5/css/bootstrap.min.css">
		<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/font-awesome/4.4.0/css/font-awesome.min.css">

		<!--[if lt IE 9]>
			<script src="https://cdnjs.cloudflare.com/ajax/libs/html5shiv/3.7.3/html5shiv.min.js"></script>
			<script src="https://cdnjs.cloudflare.com/ajax/libs/respond.js/1.4.2/respond.min.js"></script>
		<![endif]-->
	</head>
	<body>
		<div class="container">
			<div class="page-header">
				<h1><i class="fa fa-check-square"></i> PHP問題60</h1>
			</div>
			<div class="jumbotron">
			<h3>
			<?php
				$arr = [
					[
						'リンゴ' => 150,
						'ミカン' => 300,
						'メロン' => 12000,
						'スイカ' => 700
					], [
						'エリンギ' => 150,
						'エノキ' => 100,
						'マイタケ' => 300
					]
				];
				$sum = 0;
				[ a ]
					foreach($obj as $v){
						$sum += $v;
					}
				}
				echo number_format($sum).'円';
			?>
			</h3>
			</div>
		</div>
		<script src="https://code.jquery.com/jquery-1.11.3.min.js"></script>
		<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.5/js/bootstrap.min.js"></script>
	</body>
</html>


※CSSには、Bootstrap、Font-Awesomeを利用しています。
※Javascriptには、jQuery1.11.3を利用しています。

問題:2次元の連想配列の値を合計したい場合、[ a ]に入る適切なものはどれか選択して下さい。(複数選択可)

  1. foreach($arr as $obj){
  2. foreach($arr as $v){
  3. foreach($arr as $sum){
  4. foreach($v as $arr){

正解:1.foreach($arr as $obj)

プログラム初心者へ贈る問題ですので。そろそろこの形式に飽きてきたと言われそうで怖いです。

今回は2次元の連想配列です。慣れるまでちょっと見ずらいかもしれません。
慣れの問題です。

外側の配列は通常の配列で、添え字(インデックス)は0と1です。では2次元の連想配列じゃないやん!って突っ込みはなしの方向で。

通常配列をループすると、1つの要素は連想配列になっています。
foreach(配列 as $k => $v)と書いた場合は、配列のキー(ここでは文字列になります)が$kに入ります。
今回は値の足し合わせになるので、$vのみで良いことになります。

  • このエントリーをはてなブックマークに追加

PAGE TOP