円である0度~360度の範囲 - PHPプロ!Q&A掲示板

4863

  • 募集中!! 0P

円である0度~360度の範囲

質問日時 / 2017年9月24日 00:12    回答数 / 3件

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

キーワード /     度数    360度   

ご教授お願い致します。

例えば360度の円で、0度をまたぐ350度~20度の範囲で

350度以上20度以下の範囲で、355度と出た場合

$en= 355;

switch($en){

 case ($en >= 350 && $en =< 20);

これだと355は20以下ではないと判断されてエラーになってしまいます。
どうしたらよいでしょうか?
switch文ではダメなのでしょうか?
教えてくださいお願いします。


ツリー一覧

┗A01shimixswtchで書くケースではないと思いますが(普通は if
 ┗A01-1kesuikeutosaご回答ありがとうございます。 ifとor条件で下記のよ
  ┗A01-1-1shimix♯出先から(スマホ)なので簡潔に・・ or条件になる

回答一覧

並び替え:

A01 参考になった
answerershimix [9月24日 03:41]

swtchで書くケースではないと思いますが(普通は if にする)それは置いといて・・・

case ($en >= 350 && $en =< 20);

LESS EQUAL の比較演算子は =< ではありません( <= です)。それと350以上かつ20以下にある値は存在しませんから、絶対に一致することはありません。両方の条件を満たす値がないのが既知なのに && を使う意味はないです。or 条件にします。

case ($en >= 350 || $en <= 20);

この意見に回答する

ツリーへ TOPへ

A01-1
replyerkesuikeutosa [9月24日 11:17]

ご回答ありがとうございます。
ifとor条件で下記のよな文をつくりましたが、echo ”B”で止まってしまいます。

<?php
$en=200;
 if($en >= 340 || $en < 40){
  echo "A";
}else if($en >= 40 || $en < 100){
  echo "B";
}else if($en >= 100 || $en < 160){
  echo "C";
}else if($en >= 160 || $en < 220){
  echo "D";
}else if($en >= 220 || $en < 280){
  echo "E";
}else if($en >= 280 || $en < 340){
  echo "F";
}
?>

円の度数のように360以上になると0から始まれる関数があればいいのですが…、又は他の方法はないのでしょうか?

教えてください。宜しくお願い致します。

この意見に回答する

ツリーへ TOPへ

A01-1-1 満足
replyershimix [9月24日 11:31]

♯出先から(スマホ)なので簡潔に・・

or条件になるのは 0 をまたぐときだけです。それ以外は and条件でないといけません。

この意見に回答する

ツリーへ TOPへ

<<質問一覧へ



Pick Up Q&A

Q
ログファイルの中の空のデータ行を削除したい
 このエントリーをはてなブックマークに追加 
A
ログのデータ個数(列数)が固定で、空のログが"<><><>"だと既知であれば if ($line === "<><><>") { continue; } で読み飛ばしてもいいのでは? ...

>>続きを読む

まずは配列や文字列の扱いから、じっくり勉強して行きましょう。

▲解説者:岡本(アシアル株式会社 教育コーディネーター兼 システムエンジニア)