• ベストアンサー

自作関数  require_onceを書く場所

inu2の回答

  • ベストアンサー
  • inu2
  • ベストアンサー率33% (1229/3720)
回答No.1

関数AとBの中身にもよるかと思います ただ、個人的には if文でrequireするしない などのロジックは書きません するのであれば //ファイル名Aには関数名A、ファイル名Bには関数名Bを記述 require_once("ファイル名A"); require_once("ファイル名B"); if(条件){    $変数x = 関数名A(引数y); }else{    $変数x = 関数名B(引数y); } ただ、このようにif文で振り分けるのであれば、 関数の内部でif文で 引数yの処理を振り分ければよいのでは? こうしますね

PearlJam69
質問者

お礼

ありがとうございます。 >関数の内部でif文で すみません。 質問の意図と無関係と考え、単純な書き方をしました。 2つの処理をif文で分岐している、とお考えください。

関連するQ&A

  • require_once で読み込まれたか?

    初心者です。教えて頂けますか? require_once で読み込んだと思われるファイルの機能を使用したのですが、 機能した様子がありません。 require_once で読み込めない場合エラーが出るのでしょうか? 以下の様にしても駄目でした。 どの様にすれば良いでしょうか?よろしくおねがいします。 <?php $result = require_once("Auth/Auth.php"); if( $result == True ){ print("True"); } else { print("False"); } ?>

    • ベストアンサー
    • PHP
  • require_onceについて

    MAMPを使用して開発しています。 MAMP/htdocsに入っているa.phpから同一階層にあるb.phpを呼びだそうと思い require_once('b.php'); と記述したのですが Warning: require_once(b.php): failed to open stream: No such file or directory in - on line 13 Fatal error: require_once(): Failed opening required 'b.php' (include_path='.:') in - on line 13 とエラーが表示されます。色々と試してみたもののうまくいかず。 アドバイスを宜しくお願い致します。

    • ベストアンサー
    • PHP
  • require_onceについて

    いつもお世話になっております。 超初級な質問で申し訳ないのですが困ってます。 下記のような4つのclassがあります。 A_Class------------ <?php require_once('Base_Class'); class A_Class extends Base_Class{} Base_Class------------------ <?php require_once('B_Class'); abstract class Base_Class { public function hoge (){ $b = new B_Class(); $b->hoge(); } } B_Class--------------------- <?php require_once('C_Class'); class B_Class{ public function hoge (){ $c = new C_Class(); } } C_Class--------------------- <?php require_once('Base_Class'); class C_Class extends Base_Class{} ほかのファイルからrequire_once('A_Class');をすると PHP Fatal error: Class 'Base_Class' not found in C_Class.class.php on line 2 となります。 Base_Classのrequire_once('B_Class');をクラス定義の下に書けば通るのですが、 できればrequire_onceは上部にそろえておきたいです。 require_onceを下に書かずに修正する方法がありましたらご教授お願いします。

    • 締切済み
    • PHP
  • require_onceについて

    inquireやrequire_onceの記述場所は コードの上のほうに記述したほうがいいのでしょうか? それとも、使いたい箇所のすぐ上に記述したほうがいいのでしょうか? if文などの中でもつかえますか?

    • ベストアンサー
    • PHP
  • 二次関数で

    任意の二次方程式(ax^2+bx+c=0)を解くプログラムを作るのですが、以下の条件を満たした方法で作るというものです。 1、関数の引数は、3つの係数と、解の入る変数二つとする。 (計5つの引数をとる。) いずれかの引数がアドレス渡し(ポインタ)になる。 2、解は関数呼出の時に指定した2つの変数にそれぞれ代入されること。 3、解の表示は関数側ではなく呼出側で行うこと。 4、グローバル変数は使用しない。 一応作ってみたのですがコンパイルすらできません。 初心者なので全くわかりません教えてください。 #include<stdio.h> #include<math.h> void solve(double *x, double *y); int main(void) { double x,y; solve(&x,&y); return 0; printf("x=%f\n", x); printf("y=%f\n", y); } void solve(double *x, double *y) { doble a,b,c; puts("二次方程式 a*x^2+b*x+c=0 を解きます"); puts("係数a, b, cを入力してください"); printf("a="), scanf("%lf", a); printf("b="), scanf("%lf", b); printf("c="), scanf("%lf", c); putchar('\n'); double d = b * b - 4 * a * c; if(d >= 0){ x = (-b + sqrt(d)) / (2 * a); y = (-b - sqrt(d)) / (2 * a); } else puts("虚数解"); }

  • main関数以外での結果の表示?

    C言語で関数を用いたプログラムを作成しています。内容はA君、B君のボーリングの成績を入力し、その点数をランク付けするというものです。(250以上はS、200以上はA、150以上はB、100以上はC、50以上はD、50未満はFになります。) それから、このプログラムの条件は 1、main関数は値の入力と関数を呼び出すだけ。 2、関数の引数は入力した2つの値。 3、関数の中で結果を表示。 4、関数の戻り値はなし。 というもので、3番の結果のmain関数以外での結果の表示の仕方がわからず、どうやって結果を表示させていくのかよくわからず、行き詰っています。そのあたりの解説をしていただくとありがたいです。 なお、私が途中まで書いたので、問題点の指摘をおねがいいたします。 #include<stdio.h> int ia(int x); int ib(int y); int main(){  int a,b;  printf("A君のスコア");  scanf("%d",&a);  printf("B君のスコア");  scanf("%d",&b);  }  int ia(int x);  char ix;  if(x>=250){  ix = 'S';  }else if(x>=200 && x<250){  ix = 'A';  }else if(x>=150 && x<200){  ix = 'B';  }else if(x>=100 && x<150){  ix = 'C';  }else if(x>=50 && x<100){  ix = 'D';  else{  ix='F'; } int ib(int y);  char iy;  if(y>=250){  iy = 'S';  }else if(y>=200 && y<250){  iy = 'A';   }else if(y>=150 && y<200){  ix = 'B';  }else if(y>=100 && y<150){  iy = 'C';  }else if(y>=50 && y<100){  iy = 'D';  }else{  iy ='F'; }

  • 関数のプログラムについて

    任意の二次方程式ax^2+bx+c=0をとくプログラムの作成です 引数をa,b,cとして、解の大きい方を返すというものなのですが、 僕は以下のようにして組んだのですが、うまくいきません。 と、いうより、関数の作り方がいまいちわからないです。 どこが駄目なのか教えてください。 作ってみたやつ↓ #include<math.h> #include<stdio.h> int a,b,c; double d; double x,y,z; int main(void) { a=1; b=2; c=1; printf("ax^2+bx+c=0\n "); d=b^2-4*a*c; if (d<0){printf("kyosuukai\n)} else if(d>=0) { x=(b+sqrt(b^2-4*a*c))/2*a; y=(b-sqrt(b^2-4*a*c))/2*a; if(x>=y){z=x} else if(x<y){z=y} printf("x= %f\n",z); } }

  • require_onceが動いていない

    Cache_Liteを使ってキャッシュ処理を組もうとしています。 実行すると、ブラウザ上には何も表示されない状態です。 試しにキャッシュ処理を除いた部分のPHP処理を実行すると、 その処理は正しく実行されることが確認できました。 いろいろ調べてみると、どうやらrequire_onceが動いていないであろうということに行き当たりました。 いろいろ試して見たのですが、なぜ、require_onceが動作していないのかわからずに先に進むことができない状態でいます。 どの部分を確認して試すべきか、教えていただけないでしょうか。 ■実行環境は以下の通りです。  OS:Windows XP Pro.  PHP: PHP5 5.1.4  サーバ: Apache 2.0.58 ■PHP,PEARは正常にインストールされています。  コマンドプロンプトでpear list を実行すると、  "Cache_Lite 1.7.2 stable"と表示されているので、  Cache_Liteそのものはインストールされています。 ■ソース --------------------------------------------------------- require_once('Cache/Lite.php'); //キャッシュ処理 $options = array( 'cacheDir' => '/tmp/cache', 'lifeTime' => 86400, 'caching' => true, 'automaticCleaningFactor' => 20, 'automaticSerialization' => true, 'pearErrorMode' => 'CACHE_LITE_ERROR_DIE' ); $cache = new Cache_Lite($options); $id = 'RTSK001'; if ($data = $cache->get($id)) {   //キャッシュがある場合の処理     } else { //キャッシュがない場合の処理 $Cache_Lite->save($data,$id); } ------------------------------------------------------ ■その他  ちなみに、このPHPはhtmlページよりSSIによって呼び出しています。  SSIによるPHPの呼び出しは動作しています。

    • ベストアンサー
    • PHP
  • エクセルのIF関数とVLOOKUP関数について教えてください。

      A B C 1 A1 B1 C1 2 A2 B2 C2 ・ ・ ・ 上記のような表があり、セルX、Yに入力した値が2つの条件に合致した場合、セルZにC列の値を返すような数式を作っています。 たとえば、セルXの値がA1より小さく、かつ、セルYの値がB1より小さい場合にはセルZにC1の値を表示する、という数式を作りたいのです。 (ちなみにAn、Bn、Cnにはそれぞれ数字が入ります) =IF(AND(X<=A1,Y<=B1),C1,IF(AND(X<=A2,Y<=B2),C2,・・・ AND関数を利用してこのように数式を入れると、途中まではうまくいくのですが、引数が多いため途中からエラーが出てしまいます。 (引数の数は10個以上あります) IF関数とVLOOKUPを組み合わせればいいというところまではわかるのですが、どのように条件設定をすればいいのかがわかりません。 エクセル初心者で恐縮ですが、どなたか詳しい方いらっしゃいましたらご回答よろしくお願いいたします。

  • require_once の結果について

    linux上でphp Ver5.5.28を使っています。 まず、index.phpは <!DOCTYPE html> <html lang="ja"> <head> <meta charset="UTF-8"> <title>テスト・タイトル</title> </head> <body> <h1>require_onceのテストを行います。</h1> <p><?php require_once("test.php"); ?></p> </body> </html> と記入しています。 test.phpは <?php $aaa = "変数に文字を設定します。"; print $aaa; ?> と記入しています。 実行した結果のHTMLを見ると添付ファイルのとおり不明なコードが追加されています。 また、test.phpを <?php ?> のみでやっても不明なコードが作成されてしまいます。 どなたか、原因が分かる方がいらっしゃれば教えていただけないでしょうか。 よろしくお願いします。 その結果のHTMLを見ると、添付画像のとおりゴミが出力されています。

    • ベストアンサー
    • PHP