Home > PHP > 「新しくプログラミング言語を覚えたいときに行うべき10の練習問題」を PHP で解いてみる【第 3 回】

「新しくプログラミング言語を覚えたいときに行うべき10の練習問題」を PHP で解いてみる【第 3 回】

  • 2008-06-07 (土) 19:04
  • PHP
  • Tags:
  • hatena add hatena users
  • send twitter

第 1 回第 2 回に続き、今回は第 3 問。問題はこちら。

3.複数の数値を入力させ、昇順に並び替え、最大値と最小値を出す(例:同僚の体重を入力して計算)。

フォームに名前と体重を 3 つずつ用意し、POST でデータを受け取って、名前をキーにした連想配列に格納。その連想配列を asort 関数でソートして MAX と MIN を表示しています。
あと一応、受け取った側で入力チェックもしてあります。

<?php
for($i = 1; $i <= 3; $i++) {
  if(strlen($_POST['name'.$i]) == 0) {
    print($i.'番目の名前を入力してください。');
    return;
  }
  if(!is_numeric($_POST['weight'.$i])) {
    print($i.'番目の体重の入力が間違っています。');
    return;
  }
}

$data = array(
  htmlspecialchars($_POST['name1']) => htmlspecialchars($_POST['weight1']),
  htmlspecialchars($_POST['name2']) => htmlspecialchars($_POST['weight2']),
  htmlspecialchars($_POST['name3']) => htmlspecialchars($_POST['weight3'])
);
asort($data, SORT_NUMERIC);
$keys = array_keys($data);
$values = array_values($data);
print('最も体重が重いのは・・・ '.$keys[count($keys) - 1].' : '.$values[count($values) - 1].'<br />');
print('最も体重が軽いのは・・・ '.$keys[0].' : '.$values[0].'<br />');
?>

>>作成したサンプルはこちら

参考リンク

関連する記事

Comments:0

Comment Form
Remember personal info

Trackbacks:0

Trackback URL for this entry
http://www.sukechan.net/archives/67/trackback/
Listed below are links to weblogs that reference
「新しくプログラミング言語を覚えたいときに行うべき10の練習問題」を PHP で解いてみる【第 3 回】 from sukechan.net

Home > PHP > 「新しくプログラミング言語を覚えたいときに行うべき10の練習問題」を PHP で解いてみる【第 3 回】

Search
Feeds
Meta
あわせて読みたい
あわせて読みたいブログパーツ
Others...
フィードメーター - sukechan.net
track feed

Return to page top