• ベストアンサー

inculdeでphpを省略するには。

saintandreの回答

回答No.3

質問者様はfunctionを使用してユーザー定義関数を利用しておられますでしょうか? ユーザー定義関数を使うとかなりの処理を簡略化できます。 たとえば<select>要素のリストで連想配列のキーを値に中身をテキストにした <option>要素をつけて、なおかつ初期値をキーが等しい場合はselectedを つけたいといった場合ソースは以下のようになるかとおもいます。 (インデントをつけるために全角スペースを使用しておりますのでご注意下さい) ■関数使用せず $ary1 = array(1 => "はい" , 2 => "いいえ"); $ary2 = array(1 => "男" , 2 => "女"); $ary3 = array(1 => "希望する" , 2 => "希望しない"); $a1 = 1; $a2 = 2; $a3 = 1; echo "<select name='a1'>";  foreach($ary1 as $k => $v){   $flg = "";    if($k == $a1){     $flg = "selected";    }   echo "<option value='" . $k . "' " . $flg . ">" . $v . "</option>";  } echo "</select>"; echo "<select name='a2'>";  foreach($ary2 as $k => $v){   $flg = "";    if($k == $a2){     $flg = "selected";    }   echo "<option value='" . $k . "' " . $flg . ">" . $v . "</option>";  } echo "</select>"; echo "<select name='a3'>";  foreach($ary3 as $k => $v){   $flg = "";    if($k == $a3){     $flg = "selected";   }   echo "<option value='" . $k . "' " . $flg . ">" . $v . "</option>";  } echo "</select>"; ここで同じようのな記述が三回も繰り返しているのがわかるかとおもいます。 同じ部分は関数を定義して処理すると以下のようになります。 ■関数使用 $ary1 = array(1 => "はい" , 2 => "いいえ"); $ary2 = array(1 => "男" , 2 => "女"); $ary3 = array(1 => "希望する" , 2 => "希望しない"); $a1 = 1; $a2 = 2; $a3 = 1; echo select("a1",$ary1,$a1); echo select("a2",$ary2,$a2); echo select("a2",$ary3,$a3); function select($name,$array,$value){  $s = "";  $s .= "</select>";  $s .= "<select name='" . $name . "'>";   foreach(array as $k => $v){    $flg = "";     if($k == $value){      $flg = " selected";     }    $s .= "<option value='" . $k . "' " . $flg . ">" . $v . "</option>";   }  $s .= "</select>";  return $s; } 以上のようにユーザー定義関数で記述を減らすことができるのがわかるかとおもいます。 includeやクラスはこの先の話となりますので今回は説明を省かせていただきます。

関連するQ&A

  • phpの記述につきまして

    phpの記述につきまして データベースから <? echo $file_name; ?> で $file_name に ****.php の値が呼び出されるのですが include の記述で <?php include("<? echo $file_name; ?>"); ?> と言う風に 利用表示するとエラーになってしまします。  include("ここにDBからのPHPファイル名を呼び出したい!") とするには どのように記述すれば宜しいでしょうか? ご教授いただければ幸いに存じます。

    • ベストアンサー
    • PHP
  • PHPとTwitter Bootstrap

    PHPコードをかいたファイルに Twitter Bootstrap を適用するとフォームのデザインが崩れます。どうしたらよいでしょうか? サイトのデザインに Twitter Bootstrap を使おうと勉強中のものです。 PHPを記述したページのHTMLフォームに Twitter Bootstrap のCSSを適用させるとフォームのデザインが小さく?なってしまいます。 (添付画像参照) PHPを記述していないページだとデザインは崩れることなく表示されます。 PHPと Twitter Bootstrap の相性の問題でどうしようもないことなのでしょうか? 機能的にはなにも問題はないのですが、見栄えが悪いのでどうにかしたいです。

    • ベストアンサー
    • PHP
  • PHPの中にPHP?

    例えば <?php $all_array = array( "1", "2", "3", "4", "5", "6", "7", "8", "9", ・ ・ ・ という記述をした時に、"1"、"2"に他で作ったphpファイルを呼び出して表示させることは出来ないのでしょうか? 今までは単純に<? include("○○.php"); ?>で呼び出していたのですが、これは使えませんよね? よろしくお願いします。

    • 締切済み
    • PHP
  • PHPで?が消えない現象が起きます。

    PHPで?が消えない現象が起きます。 index.phpにheader.phpを <?php include(header.php); ?> のようにincludeすると header部分の記述が始まる直前に?が表示されます。 header部分がおかしいのかなと思って "aaa"とだけ記述してみても同じように"?aaa"と表示されてしまいます。 余分な?の文字も無いですし、文字コードも統一しています。 基本的なことを見落としているのかもしれません・・・。 どうかお助けくださいm(_ _)m

    • ベストアンサー
    • PHP
  • 必ずincludeするファイルの記述部分を省略したい。

    必ずincludeするファイルの記述部分を省略したい。 フォルダの直下に複数のPHPファイルがあって、 どのPHPファイルも一番始めに include '../setting/setting.php'; のような設定ファイルを読み込むのですが これをうまい事省略したり、記述を簡単にする方法ってないでしょうか?

    • ベストアンサー
    • PHP
  • PHPの includeについて?

    現在、レッツPHPさんの新着ブロガーを設置しようと試みています。 -------------------- rss/new/index.html /PEAR.php /rssup.php /XML/Parser.php /XML/RSS.php ------------------------ 上記のようなファイル構造で、index.html内に<?php include("rssup.php"); ?>を記述しているのですが、何も起きません。 ※rssup.phpは、正常に動いていてRSS情報の取得は出来ています。 設置方法通りに<?php include("rssup.php"); ?>を記述するだけでは、駄目なのですか? どなたかご教授いただけないでしょうか?

    • ベストアンサー
    • PHP
  • require Auth.php

    require 'Auth/Auth.php'; の動作について教えてください。 サンプルソース a.php に、 「require 'Auth/Auth.php';」と冒頭に記述してありました。 PEARだと思うのですが、結局この記述は、 a.phpに、 (1)Auth.phpの内容を取り込む? (2)Auth.phpの内容を継承する? どちらの解釈の方が正しいのでしょうか? 今までrequire だと、指定したphpの内容を取り込む((1)番だと)だと認識していました。 以下ソースのように動作してると思っています。Auth.phpも同じ動作と思っていいものなのでしょうか。 ・test.php <?php echo "start!!\n"; include("include.php"); echo "end!!\n"; ?> ・include.php <?php echo "include start!!\n" ?> ●実行結果 start!! include start!! end!!

    • ベストアンサー
    • PHP
  • PHPを使用したパンくずリストについて

    この度、HPにパンくずリストを自動生成するPHPを使用したいと思い、下記のサイトで配布されているPHPを使用してみたのですが、当方PHPに関しては全くの初心者でして、設定次第でもっと便利にならないものかと思い質問させていただきました。 まず、配布サイトは下記URLです。 mtblue.org様 http://www.mtblue.org/pc/web/breadcrumbs.php ■質問内容 現在、HTML内にて下記のような記述をしてPHPを読み込んでおります。 (例: <?php $myFullname = "index/number.html"; $myTitle = "number(ナンバー)"; include("bread.php"); ?> しかし、これではページごとに変数部分を書き換える必要があり、このPHPを使う利点があまりないのではと思うのです。 当方の理想といたしましては、以下のようになればと思っております。 $myFullname・・・index/以下のhtmlファイル名を自動取得 $myTitle・・・HTML内の<title>内を読込 初心者の私にでも可能であれば下記の記述をコピペするだけで出来ないのかと浅はかな考えをしているのですが・・・。全ページに対して同じ記述で対応することは出来ないでしょうか? <?php $myFullname = "index/***.html"; $myTitle = "***"; include("bread.php"); ?> ***部分は自動読込 質問内容が不明瞭な点などあるかと思いますが、よろしくお願いいたします。

    • ベストアンサー
    • PHP
  • PHP3からPHP5にVerUpすると動作しない

    PHP3からPHP5へバージョンアップするとプログラムが正常動作しなくなりました。 includeファイル内に記述している関数が全く動作しなくなりました。 修復する方法をご存じの方、教えてください。

    • 締切済み
    • PHP
  • headerでCSS送出しているPHPファイルと

    ・下記ページのように、<link rel="stylesheet" href="/css.php">で読み込んでいるファイルと変数の受け渡しをしたいのですが、どうすれば良いでしょうか? ▽PHPで動的なcssファイルを作成する   http://103px.blog.fc2.com/blog-entry-19.html ■やりたいこと ・「POST」「GET」ではなく、includeみたいに利用したい ・具体的には、リンク先ページで言えば、css.phpに記述している「ランダムなカラー設定」を、index.phpに記述したい

    • ベストアンサー
    • PHP