質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
if

if文とは様々なプログラミング言語で使用される制御構文の一種であり、条件によって処理の流れを制御します。

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

Q&A

解決済

4回答

1473閲覧

【php】変数の中身に応じて異なる値を変数に代入するには?

s.oizumi

総合スコア7

if

if文とは様々なプログラミング言語で使用される制御構文の一種であり、条件によって処理の流れを制御します。

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

0グッド

0クリップ

投稿2016/09/24 12:13

phpの勉強をしています。
「0」「1」のいずれかの数字が登録されている行があります。
0の場合は「一般」
1の場合は「管理者」
のように、数字を文字列に変換して表示させたいです。

php

1$view .= '<td>'.$result["flg"].'</td>';

このままだと、0、1で表示されてしまうので
以下のように新たな変数を作り、出し分けを試みましたがうまくいきませんでした。

php

1if($result["flg"] = 0){ 2 $kengen = "一般"; 3}else{ 4 $kengen = "管理者"; 5} 6$view .= '<td>'.$kengen.'</td>';

初歩的な質問かと思いますが、教えていただければ幸いです。
よろしくお願いいたします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答4

0

自分もyambejpさんのが好みですかねえ。
もっと複雑になるようだったら関数化かなあ。

PHP

1$view .= '<td>' . get_kengen($result['flg']) . '</td>';

PHP

1function get_kengen($flg) { 2 $ret = ''; 3 switch ($flg) { 4 case 0: 5 $ret = '一般'; 6 break; 7 case 1: 8 $ret = '管理者'; 9 break; 10 } 11 12 return $ret; 13}

投稿2016/09/24 13:36

takasima20

総合スコア7458

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

ベストアンサー

php

1$a=["一般","管理者"]; 2$view .= '<td>'.$a[$result["flg"]].'</td>';

のような感じの方が普通では?

投稿2016/09/24 13:18

yambejp

総合スコア114779

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

s.oizumi

2016/09/26 08:36

$a=["一般","管理者"]; この部分で「0なら一般、1なら管理者」という振り分けをしているという認識で間違いないでしょうか?
yambejp

2016/09/26 08:46

配列ですので、0から始まるキーが自動で振られるため ご指摘の「0なら一般、1なら管理者」となります。 ただし想定外のデータを$result["flg"]が持ってきた場合は 配列にないデータを参照するのでエラーになります。 その場合は例外処理を入れておけばよいでしょう
s.oizumi

2016/09/26 08:59

思い通りの表示ができました。汎用性も高いやり方を教えていただきありがとうございます。
guest

0

日本語にするなら もし$result["flg"]は0です。真か偽でいったら真なので$kengen = "一般"にします。って言う感じに今なってるのかな。なので=を==にして、もし$result["flg"]が0ならば$kengen = "一般" 1ならば$kengen = "管理者"にしたいのかとおもうので

php

1if($result["flg"] == 0){ 2 $kengen = "一般"; 3}else if($result["flg"] == 1){ 4 $kengen = "管理者"; 5} 6$view. = '<td>'.$kengen.'</td>';

こういう感じ?

投稿2016/09/24 12:56

編集2016/09/24 13:01
toutou

総合スコア2050

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

s.oizumi

2016/09/26 08:55

$result["flg"] の登録されているデータが1の場合も「一般」と表示されてしまいました・・・
toutou

2016/09/26 09:16

このコード?元々のコード?
s.oizumi

2016/09/26 09:19

元々のコードと、いただいたコードの両方で発生しました。
toutou

2016/09/26 09:27

$result["flg"]に入ってるのは1固定で、これを変えるのがないのかと。$kengenに入る数字が0か1になるだけのような感じがしますので、if文がもしかしたらいらないとかない?
guest

0

php

1if($result["flg"] == 0){ 2 $kengen = "一般"; 3}else{ 4 $kengen = "管理者"; 5} 6$view .= '<td>'.$kengen.'</td>';

"=" => "=="は比較です。

下記の同じ結果がでるはずです。

php

1$view .= '<td>'.($kengen==1?"管理者":"一般").'</td>';

投稿2016/09/24 12:23

hisou

総合スコア46

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

carimatics

2016/09/24 12:32

三項演算子の条件部分は$result["flg"]==1では。
s.oizumi

2016/09/26 08:58

こちらのやり方で正しく表示されました。ありがとうございます。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問