PHP練習問題

PHP練習問題 問43


今回から初心者向け問題を出していこうと思います。
今までは実行結果を見るものでしたが、今回から穴埋めに挑戦です。
フロー制御の部分を中心にプログラム初心者でも分かりそうな問題を出していきます。

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

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

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


phpedu43.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問題43</h1>
			</div>
			<div class="jumbotron">
			<h3>
			<?php
				[       a       ]
					echo $i.'<br>';
				}
			?>
			</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を利用しています。

問題:1~10までを表示するプログラムを作成しています。[ a ]に入る適切な構文を答えなさい(複数選択可)

  1. for($i=0;$i<10;$i++){
  2. for($i=1;$i<=10;$i++){
  3. for($i=0;$i<=10;$i++){
  4. for($i=1;$i<=11;$i++){

正解:2.for($i=1;$i<=10;$i++){

単純な繰り返し問題です。
for文の構文は、for(変数初期化;条件;継続処理){ 処理 } となります。
条件がtrueの間処理を繰り返します。

今回は、1から10までを表示したいので、初期化では1を代入しているもの、条件は10以下になるまで。
ということで、正解が2になります。

phpでは、繰り返し処理は、for, while, foreach が利用できます。
配列処理が多い為、配列の全件出力など、foreachを利用すると楽にできます。

$ar = array(1, 2, 3, 4, 5);
// for文利用
for($i=0;$i<count($ar);$i++){
	echo $ar[$i];	// 12345
}

// foreach文利用
foreach($ar as $i){
	echo $i;	// 12345
}

上記に並べて書いてみましたが、配列の処理などでは、for文を利用すると値の取得部分が配列名[$i]のようになり見ずらい感じがします。
配列ですと明示的に出来るので良いかもしれませんが、処理したいのは、キー(index)又は値(value)となるので、値を直接変数へ代入してくれるforeachは便利だと思います。

この辺りは慣れなので、他の人のソースを読んでみて読みやすい方で書いていくことが良いかと思います。

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

PAGE TOP