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

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

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

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

Q&A

解決済

2回答

1440閲覧

関数の引数に文字列の条件式を入れたい(PHP)

gardian

総合スコア8

PHP

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

0グッド

0クリップ

投稿2018/02/18 13:35

初歩的な質問なのですが、関数の引数に値ではなく、条件式を入れることは可能でしょうか?
下のサンプルは、第一引数$condition_1と第二引数$condition_2にそれぞれ、"$data_1 > 1"と"$data_2 > 10"という二つの文字列の条件式を当てています。

この書き方ではエラーが出てしまうのは分かったのですが、どうやっても条件式を引数に当てることができないものなのか、教えていただけるとありがたいです。

php

1<?php 2$data_1=10; 3$data_2=100; 4 5function total($condition_1,$condition_2){ 6 if($condition_1 and $condition_b){ 7 $total = $total + 1; 8 return $total; 9 } 10} 11 12$total=condition('$data_1 > 1','$data_2 > 10'); 13echo $total; 14} 15

どうぞ宜しくお願い致します。

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

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

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

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

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

guest

回答2

0

やってできないことはないけど、単純に設計としておかしいでしょってツッコミはせざるを得ません。

php

1function total($condition_1,$condition_2){ 2 if(eval($condition_1) and eval($condition_b)){ 3 $total = $total + 1; 4 return $total; 5 } 6}

投稿2018/02/18 13:39

退会済みユーザー

退会済みユーザー

総合スコア0

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

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

gardian

2018/02/19 13:59

回答頂き、ありがとうございました。 大変参考になりました。
guest

0

ベストアンサー

まず、エラーになるのは、変数名や関数名をタイプミスしているからですね。

条件は、普通にこう書けばいいと思うのですが、文字列にしたい理由は何でしょうか?

PHP

1<?php 2$data_1=10; 3$data_2=100; 4 5function total($condition_1,$condition_2){ 6 $total = 0; 7 if($condition_1 and $condition_2){ 8 $total = $total + 1; 9 return $total; 10 } 11} 12 13$total=total($data_1 > 1, $data_2 > 10); 14echo $total; 15

投稿2018/02/18 15:08

otn

総合スコア84499

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

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

gardian

2018/02/19 13:58

ご教示ありがとうございます。 文字列にする必然性はありません。 単に、「$data_1 > 1」が一つのまとまりとしてphpで認識してくれるとは知らなかっただけでした。 おかげさまで、一歩前進することができました。 ありがとうございました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問