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

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

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

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

PHP

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

Q&A

解決済

3回答

11467閲覧

if文の中身を変数にしたい

ckaposndbbba

総合スコア210

if

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

PHP

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

0グッド

1クリップ

投稿2015/04/10 06:52

タイトルまんまです.if文の中身を変数にしたい.
具体的に言うとこんな感じです.

lang

1$if = “!empty($str)”; 2if($if) { /* 処理 */ }

っていう感じです.分かりますかね,,
ちょっとむずかしいかもしれませんが,よろしくお願いします.

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

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

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

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

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

guest

回答3

0

ifの条件式のところで変数に代入することが出来ます。
よくDBコネクションを張る時やファイルを開くときに使う方法です。

lang

1if( $fp = fopen('sample.txt','w') ){ 2 fputs($fp,'sample'); 3 fclose($fp); 4} else { 5 exit; 6}

条件式となるPHPコードを変数に格納しておき、それをif条件式の中で実行するというのであれば、お勧めはしかねますが以下のような方法があります。 マニュアルを熟読の上、危険性を理解してお使いください。

lang

1<?php 2$str = 'str'; 3$phpstr = 'return !empty($str);'; 4if( eval($phpstr) ){ 5 echo 'true'; 6} else { 7 echo 'false'; 8}

■eval関数
http://php.net/manual/ja/function.eval.php

投稿2015/04/10 07:22

編集2015/04/10 07:22
hermitagejp

総合スコア53

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

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

0

何がされたいのかよくわからないのですが、ifの条件を変数にすることは可能ですよ。

lang

1<?php 2$a = 1<2; 3 4if( $a ){ 5 echo "true"; 6} 7else{ 8 echo "false"; 9}

よく使う > < = などは単なる「演算子」の一種です。
ifが見ているのは最終的な条件が true か false かだけですので、

lang

1if(true){ }

と書くこともできますし、

lang

1echo 100<999;

といった、条件式を普段書かないようなところで書くこともできます。

また is_ で始まる関数(is_array)や、質問文で書かれているemptyなどが返すのもBoolean型の値(要はtrueかfalse)ですので、条件式のところによく書くだけで、他の箇所で利用したり、変数に代入することもできます。

#若干嘘をついていますが、イメージとしては上記のような感じです。

投稿2015/04/10 07:00

編集2015/04/10 07:04
munyaX

総合スコア783

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

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

0

ベストアンサー

!empty($str) は Boolean になるので、そのまま変数に代入できます。

lang

1$if = !empty($str); 2if ($if) { 3 /* 処理 */ 4}

投稿2015/04/12 11:59

koyhoge

総合スコア268

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問