php変数の表示方法について

このQ&Aのポイント
  • phpに関する質問です。CMS joomlaのモジュールで変数を表示したいが、具体的な記述方法がわからないです。
  • 変数の中の「写楽保介_ホアカバリキルマ」をテンプレート内に表示したいが、うまくいかないです。
  • 詳しい方、どうか教えてください!
回答を見る
  • ベストアンサー

php 変数の表示方法について

phpに関してご質問させて頂きます。宜しくお願い致します。 

CMS joomlaのモジュール、mod_articles_categoryのテンプレート(php)に、

 <?php $array_var = get_defined_vars() ;
var_dump( $array_var ) ;?>

を記述して、変数を表示させると以下が出力されます。 

array(21) { ["module"]=> object(stdClass)#237 (11) { ["id"]=> string(3) "151" ["title"]=> string(52) "写楽保介_ホアカバリキルマ" ["module"]=> string(21) "mod_articles_category" ["position"]=> string(10) "position-7" ["content"]=> string(0) "" ["showtitle"]=> string(1) "0" ["params"]=> string(933) "{"mode":"normal","show_on_article_page":"1","show_front":"show","count":"5","category_filtering_type":"1","catid":["8"],"show_child_category_articles":"1","levels":"1","author_filtering_type":"1","created_by":[""],"author_alias_filtering_type":"1","created_by_alias":[""],"excluded_articles":"","date_filtering":"off","date_field":"a.created","start_date_range":"","end_date_range":"","relative_date":"30","article_ordering":"a.id","article_ordering_direction":"DESC","article_grouping":"none","article_grouping_direction":"ksort","month_year_format":"F Y","item_heading":"4","link_titles":"1","show_date":"0","show_date_field":"created","show_date_format":"Y-m-d H:i:s","show_category":"0","show_hits":"0","show_author":"0","show_introtext":"0","introtext_limit":"100","show_readmore":"0","show_readmore_title":"1","readmore_limit":"15","layout":"_:cus-jibanInfo01","moduleclass_sfx":"jibanInfo01","owncache":"1","cache_time":"900"}" ["menuid"]=> string(1) "0" ["user"]=> int(0) ["name"]=> string(17) "articles_category" ["style"]=> NULL } ["attribs"]=> array(3) { ["name"]=> string(10) "position-7" ["style"]=> string(12) "beezDivision" ["headerLevel"]=> string(1) "3" } …(以下省略

) この変数の中の"写楽保介_ホアカバリキルマ"をテンプレート内に表示したいのですが、どのような記述で出力されるか分からなくて困っております。 

<?php echo $module["ホアカバリキルマ"][ホニャララ] ; ?>など、 いろいろやってみたのですが、どれもうまくいきません。 
詳しい方、どうかご教示頂ければと存じます!

  • PHP
  • 回答数1
  • ありがとう数1

質問者が選んだベストアンサー

  • ベストアンサー
  • ibara994
  • ベストアンサー率75% (9/12)
回答No.1

<?php echo $array_var["title"]; ?>

chiku-san
質問者

お礼

いろいろ調べて自己解決いたしました。 似たような質問が、こちらに書いてありました。 http://oshiete.goo.ne.jp/qa/3614100.html stdClass Objectは、クラスなのでこんな風にアクセスすれば、表示でいるんですね。 echo $module->title; ありがとうございました。

chiku-san
質問者

補足

ご回答ありがとうございました。 試してみたのですが、残念ながらダメでした。 省略していて分かりにくいのですが、["title"]という配列要素は、var_dump( $array_var )内に何度も出てきているので、そのせいかな…とも思います。 [以下続きの抜粋] ["excluded_articles"]=> string(0) "" ["date_filtering"]=> string(3) "off" ["date_field"]=> string(9) "a.created" ["start_date_range"]=> string(0) "" ["end_date_range"]=> string(0) "" ["relative_date"]=> string(2) "30" ["article_ordering"]=> string(4) "a.id" ["article_ordering_direction"]=> string(4) "DESC" ["article_grouping"]=> string(4) "none" ["article_grouping_direction"]=> string(5) "ksort" ["month_year_format"]=> string(3) "F Y" ["item_heading"]=> string(1) "4" ["link_titles"]=> string(1) "1" ["show_date"]=> string(1) "0" ["show_date_field"]=> string(7) "created" ["show_date_format"]=> string(11) "Y-m-d H:i:s" ["show_category"]=> string(1) "0" ["show_hits"]=> string(1) "0" ["show_author"]=> string(1) "0" ["show_introtext"]=> string(1) "0" ["introtext_limit"]=> string(3) "100" ["show_readmore"]=> string(1) "0" ["show_readmore_title"]=> string(1) "1" ["readmore_limit"]=> string(2) "15" ["layout"]=> string(17) "_:cus-jibanInfo01" ["moduleclass_sfx"]=> string(11) "jibanInfo01" ["owncache"]=> string(1) "1" ["cache_time"]=> string(3) "900" } } ["modeparams"]=> string(32) "e5cc6409aa9fcf959ddb7d4f0ed1fc52" ["cachegroup"]=> string(21) "mod_articles_category" } ["list"]=> array(3) { [0]=> object(stdClass)#378 (55) { ["id"]=> string(1) "9" ["title"]=> string(55) "手塚治虫の作品:3つ目がとおるの登場人物を分析" ["alias"]=> string(55) "手塚治虫の作品:3つ目がとおるの登場人物を分析" ["title_alias"]=> string(0) "" ["introtext"]=> string(279) "…(以下省略) うまく表示する方法をご教示頂けましたら幸いです! 何卒、宜しくお願い申し上げます。

関連するQ&A

  • PHPでの変数引渡しに関して

    "HTML -> PHP1 -> PHP2"という順序で変数の引渡しを行いたいと考えております。 "HTML -> PHP1"への変数引渡しは正常なのですが、"PHP1 -> PHP2"への変数引渡しがうまくいかない状態です。 1) "HTML -> PHP1" ・HTML <form name="toroku" method="POST" action="result.phtml">  <input type="text" name="word1" size="34"></td></tr>  <input type="text" name="word2" size="34"></td></tr>  ・・・・ </form> ・PHP1(result.phtml) <? require('../include/init.inc'); $word1 = $_POST{'word1'}; $word2 = $_POST{'word2'}; $word3 = $_POST{'word3'}; $email = $_POST{'word7'}; $word8 = $_POST{'word8'}; $seireki = $_POST{'seireki'}; $tuki = $_POST{'tuki'}; $nitiji = $_POST{'nitiji'}; $result = pg_query($con, "select .........."); $rows = pg_num_rows($result); var_dump($HTTP_POST_VARS); ?> <FORM action="./result2.phtml" method="post"></FORM> ・結果 array(8) { ["word1"]=> string(6) "テスト"       ["word2"]=> string(6) "テスト"       ["word3"]=> string(6) "テスト"       ["word7"]=> string(16) "test1@test.co.jp"       ["word8"]=> string(16) "test1@test.co.jp"       ["seireki"]=> string(4) "2008"       ["tuki"]=> string(2)"01"       ["nitiji"]=> string(2) "01" } 2) "PHP1 -> PHP2" ・PHP2 <? var_dump($HTTP_POST_VARS); ?> ・結果 array(0) { } 2)でHTMLの変数を継続して渡したいのです。 ご存知のかたがいたしたら、ご教示頂ければと思います。

    • ベストアンサー
    • PHP
  • 【PHP】配列に出てくるこの名称はなんですか?

    PHP初心者です。 専門用語について教えてください。 $myAr[0] = 'あ'; $myAr[1] = 'い'; var_dump($myAr); としたとき、 array(2) { [0]=> string(3) "あ" [1]=> string(3) "い" } と出力されると思いますが、この[0][1]の「名称」は何でしょう? 意味はわかりますが呼び名がわからずすっきりしません。 キーじゃないですしね。 お詳しい方、よろしくお願いいたします。

    • 締切済み
    • PHP
  • objectの表示方法について

    質問させて頂きます。 <?php echo "<pre>"; var_dump( get_defined_vars() ); echo "</pre>"; ?> を実行すると、以下のように表示されます。 いちばん下の"henohenomoheji"を表示させたいのですが、 どのような記述をすれば表示ができるのでしょうか? array(7) {   ["template"]=>   string(7) "hogehoge_20"   ["layout"]=>   string(4) "edit"   ["params"]=>   object(JRegistry)#103 (1) {     ["data":protected]=>     object(stdClass)#66 (68) {       ["article_layout"]=>       string(9) "_:default"       ["filters"]=>       object(stdClass)#394 (10) {         [1]=>         object(stdClass)#393 (3) {           ["filter_type"]=>           string(2) "BL"           ["filter_tags"]=>           string(0) ""           ["filter_attributes"]=>           string(0) ""         }         [8]=>         object(stdClass)#406 (3) {           ["filter_type"]=>           string(4) "NONE"           ["filter_tags"]=>           string(0) ""           ["filter_attributes"]=>           string(0) ""         }       }       ["page_heading"]=>       string(30) "へのへのもへじ"       ["pageclass_sfx"]=>       string(14) "henohenomoheji"     }   }   } } <?php echo $params["data"]["pageclass_sfx"];?> とやるとホワイトアウトして何も表示されなくなってしまいます。 どうか宜しくお願い致します。 また、このような配列を見やすく表示・編集できるエディタ等はないのでしょうか? macOSX10.7.4で使えるものをご存知でしたらご教示頂けましたら幸いです。

    • ベストアンサー
    • PHP
  • PHPとSmartyの関連について

    PHPとSmartyの関連について PHPからSmartyに出力しているのですが中身がNULLになります。 データベースアクセスにはPDOを使用しています。 PHPソース DBアクセス $SQL = "select ITEM_ID from ITEM_TBL limit 0, 3"; $STMT = $GLOBALS["PDO"] -> query($SQL); $ROW = $STMT -> fetchAll(PDO::FETCH_ASSOC); Smartyでアサイン $smarty -> assign("ITEM_LIST", $ROW); Smartyソース <table> {{foreach from=$ITEM_LIST item=LIST}} <tr> <td>{{$LIST.ITEM_ID}}</td> </tr> {{/foreach}} </table> のような感じでページ出力したいのですが、表示をすると中身がNULLでした。 PHP側で var_dump($ROW); を行うと array(3) { [0]=> array(1) { ["ITEM_ID"]=> string(1) "1" } [1]=> array(1) { ["ITEM_ID"]=> string(1) "2" } [2]=> array(1) { ["ITEM_ID"]=> string(1) "3" } } 中身が配列で格納されています。 smarty側で {$ITEM_LIST|@var_dump} を行うと array(3) { [0]=> NULL [1]=> NULL [2]=> NULL } でした。 いろいろとやってみたのですが、わからなくなってしまったので どなたかご教授いただけませんでしょうか。よろしくお願いします。

    • 締切済み
    • PHP
  • PHPの画像表示関連(?)プログラムで困っています

    初めまして、おはようございます。 私はhtmlを少しかじった程度です。phpに関しては、これから勉強しようと思っていますが現状ではここ数日webで調べてみた程度の知識しかありません。また、php自体も触れるのは初めてです。どうかご助力願えたらと思います。 現状 1)現在運営されているwebサイトに掲示板がいくつかあります。 そのうち、携帯やpcから画像投稿出来て新着なども表示される掲示板と、コメントのみで画像の投稿、表示が出来ない掲示板の2ヶ所があります。 2)表示させていない掲示板にも画像を投稿、表示させるようにしたい。 問題点 ・解決するためにどうしたらいいのか、また原因となっているプログラムが分からない 恐らく原因はこの辺りなんじゃないか、と思われる場所のプログラムは以下の通りです。 file名はthread_controller.phpになります。 <!---------------------thread_controller.php-----------------------> var $name = 'Threads'; var $paginate = array( 'limit' => 10, 'order' => array('Thread.created' => 'desc') ); var $uses = array('Thread', 'Comment', 'Pic'); var $components = array('Search.Prg'); var $presetVars = array( array('field' => 'content', 'type' => 'value'), ); function beforeFilter() { parent::beforeFilter(); $this->Auth->allow("*"); } function index($forum_id = null) { $this->Prg->commonProcess(); if (!$forum_id) { $this->Session->setFlash('ページが存在しません', 'error'); $this->redirect("/"); } $this->Thread->recursive = 1; $threads = array(); // multi threads if ($forum_id == 34 || $forum_id == 41 || $forum_id == 42) { $sql = 'select id from (select id, name, created from threads where forum_id = ' . $forum_id .' and locate("-", name) = 0 union all select min(id) as id, substring(name, 1, locate("-", name)-1) as name, created from threads where forum_id = '.$forum_id.' and locate("-", name) != 0 group by 2) Thread order by created'; $res = $this->Thread->query($sql); $ids = array(); foreach ($res as $thread) { $ids[] = $thread['Thread']['id']; } $threads = $this->paginate(array('Thread.forum_id' => $forum_id, 'Thread.id' => $ids)); $sql = 'select id, title, name from ( select id, substring(name, 1, locate("-", name)-1) as title, name, created from threads where forum_id = ' . $forum_id .' and locate("-", name) != 0 ) Thread order by title, id'; $res = $this->Thread->query($sql); $subthreads = null; $prev = null; foreach ($res as $thread) { if ($prev != null && $prev['Thread']['title'] == $thread['Thread']['title']) { $data = $this->Thread->read(null, $thread['Thread']['name']); $names = explode('-', $thread['Thread']['name']); $data['Thread']['name'] = $names[1]; $subthreads[$prev['Thread']['id']][] = $data; } else { $prev = $thread; } } for($i = 0; $i < count($threads); $i++) { $id = $threads[$i]['Thread']['id']; if (array_key_exists($id, $subthreads)) { $threads[$i]['Thread']['children'] = $subthreads[$id]; } } <!-------------------------------------------> もし、このコードが原因じゃないという場合、この辺りなんじゃないか? というような意見でも幸いです。宜しくお願いいします。m(_ _)m

    • 締切済み
    • PHP
  • flashでPHPファイル(実際は該当するxmlを呼ぶ)を読み込む方法について

    FLASH(AS2.0)でPHPファイル(実際は該当するxmlを呼ぶ)を読み込むようにするにはどのようにしたらいいのですか? 現状では、ローカルのxmlファイルを読み込むように、 下記のように書いてあります。 var objXML:XML = new XML(); objXML.ignoreWhite = true; objXML.onLoad = function(success:Boolean):Void { if(success) { loadXML(this); } } var menuArray:Array = new Array(); // function loadXML(objXML:XML):Void { var dataNode:XMLNode = objXML.firstChild; var menuNodes:Array = dataNode.childNodes; for(var i:Number = 1; i <= menuNodes.length; i++) { var menuNode:XMLNode = menuNodes[i-1].childNodes; var Name:String = menuNode[0].firstChild.nodeValue; menuArray[i] = { title:Name}; } myVars(menuArray); } objXML.load("sample.xml"); この状態から、外部<http://aaaa/sample.php>URLに アクセスして、PHPファイルを読み込むにはどのようにしたら よいのか全くわかりません。 objXML.load("sample.xml"); 上記の()の中に直接URLを挿入すると、 ローカルでは確認できるのですが、 ファイルをアップすると、まったく読み込めてはいません。 ActionScriptは全くわからないので、ご教授よろしくお願いいたします。

  • セッション変数の受け渡しができない

    a.php: <?php session_start(); $_SESSION['test'] = "ok"; echo "<html><body>\n"; echo "<pre>\n"; var_dump($_SESSION); echo "</pre>\n"; echo "<a href=\"./b.php\">結果ページへ</a>"; echo "</body></html>\n"; ?> b.php: <?php session_start(); echo "<html><body>\n"; echo "<pre>\n"; var_dump($_SESSION); echo "</pre>\n"; echo "</body></html>\n"; ?> a.php の表示: array(1) { ["test"]=> string(2) "ok" } 結果ページへ b.php の表示: array(0) { } 再読込みでも同様です。 php.ini の Session 関係の項目は書籍やウェブサイトを参考にしておかしなものはないと自己判断していますが、指摘されるものを掲載します。

    • 締切済み
    • PHP
  • phpからImageMagickの使い方

    phpからexecでImageMagickを使いたいと思っています。ためしにjpgからgifに変換できればと思っています。 exec("/usr/bin/convert IMG_0.jpg a.gif",$output); var_dump($output); という感じでテストしています。 ファイルのパスが間違ってるのかとも思うんですが、うまくいきません。 画像ファイルのパスはexecを実行するphpファイルからの相対パスでよいのでしょうか? -versionは成功しているようです。 exec("/usr/bin/convert -version",$output); array(3) { [0]=> string(68) "Version: ImageMagick 6.4.3 2009-04-10 Q16 http://www.imagemagick.org" [1]=> string(57) "Copyright: Copyright (C) 1999-2008 ImageMagick Studio LLC" [2]=> string(0) "" }

    • ベストアンサー
    • PHP
  • 濁点のソート

    PHPで濁点のソートがうまく出来なくて困っております。 データは下記のような形で入っています。 $temp_array=array("じごい","じこあ","しこう"); sort($temp_array); var_dump($temp_array); 結果は下記のようになってしまいます。 array 0 => string 'しこう' (length=9) 1 => string 'じこあ' (length=9) 2 => string 'じごい' (length=9) 本来であれば濁点を無視した下記のようなソート順にしたいのです。 array 0 => string 'じこあ' (length=9) 1 => string 'じごい' (length=9) 2 => string 'しこう' (length=9) どうしたらいいのでしょうか。 教えてください。

    • 締切済み
    • PHP
  • PHP初心者です。どうしてもエラーが出てしまいます。プログラマさんお願いします!!

    初めまして。閲覧ありがとうございます。 PHPを勉強中の素人です。 「Twitter」のBOTを何とか作りたいと思い、PHPを勉強しつつPHPのソースを公開している方を参考にさせて頂きながら何とか組んでみたのですが、どうしてもエラーが出てしまい動かせません。 構文エラーということは分かるのですが、何処がおかしいのか、分かる方は教えて頂けないでしょうか?初心者丸出しの質問で申し訳ありません。 長いのですがソースを書きます。 <?php require_once 'HTTP/Client.php'; //自分のタイムラインを所得 $username = "ユーザー名"; $password = "パス"; $page = "statuses/friends_timeline.xml"; $basic = array('Authorization'=>'Basic '.base64_encode($username.':'.$password)); $client = new HTTP_Client(null, $basic); $client->get("http://twitter.com/".$page ); $response = $client->currentResponse(); $body = mb_convert_encoding($response['body'], "EUC-JP","auto"); $xml = new SimpleXMLElement($body); //ランダム発言を定義 $msg_pattern = array( "[someone]発言0", "[someone]発言1", "[someone]発言2", "[someone]発言3", "[someone]発言4", ); if($xml) { //var_dump ($xml); //該当する最新5件の発言を取得 for($i=0;$i<5;$i++){ $post_member = (string)$xml->entry[$i]->title; $post_date = $xml->entry[$i]->updated; //発言時刻を取得し、タイムスタンプに // 32400はGMTと日本時間とのズレ(9時間) $date_array = array(); $rcd = mbereg("^([0-9]{4}).([0-9]{2}).([0-9]{2})T([0-9]{2}).([0-9]{2}).([0-9]{2})Z$",$post_date,$date_array); $post_time = 32400 + mktime($date_array[4],$date_array[5],$date_array[6],$date_array[2],$date_array[3],$date_array[1]); //発言の経過時間 $pasttime = $now_time - $post_time; //発動は15分以内の発言に対して if($pasttime > 0 && $pasttime < 900 && !array_search($post_member,$followed)){ $tofollow = "@".$post_member." "; //発言をランダムで選択、相手の名前を置換 $msg = preg_replace("[\[someone\",$tofollow,$msg_pattern[mt_rand(0,count($msg_pattern)-1)]); //twitterへの書き込み $params = "status=". rawurlencode($msg); $result = file_get_contents($url.$params , false, stream_context_create(array( "http" => array( "method" => "POST", "header" => "Authorization: Basic ". base64_encode($username. ":". $password) ) ))); // array_push($followed,$post_member); } } }else{ return; } ?>

    • 締切済み
    • PHP

専門家に質問してみよう