
PHPを勉強中の初心者です。PHPで、ツリー構造を再帰関数を用いて実装するプログラムを作成し、そのツリーを表示しようとているのですが、どうもよくわかりません。
このプログラムの挙動としては、以下でクリエイトしたTreeオブジェクトを、preorder(トップダウン、左側から)で出力させるもので、期待値は以下のとおりです。
(期待値)
preorder:
1
2
4
5
3
6
7
(クリエイトされたオブジェクト)
$myTree = new Tree(1,
new Tree(2, new Tree(4), new Tree(5)),
new Tree(3, new Tree(6), new Tree(7)));
=========サンプルプログラム================================
#!/usr/bin/env php
<?php
class Tree {
var $top;
var $left;
var $right;
#コンストラクタを定義はこれであっているでしょうか。
function Tree($top, $left, $right){
$this ->top = $top;
$this ->left = $left;
$this ->right= $right;
};
function preorder( ){
#preorder() メソッドを実装方法がよくわかりません。
}
}
$myTree = new Tree(1,
new Tree(2, new Tree(4), new Tree(5)),
new Tree(3, new Tree(6), new Tree(7)));
function printPreorder($tree) {
echo "preorder:\n";
$tree->preorder(create_function('$v', 'echo "$v\n";'));
}
printPreorder($myTree);
?>
A 回答 (2件)
- 最新から表示
- 回答順に表示
No.2
- 回答日時:
>うまく動作しません。
どううまく動作しないか、想像もつきません。
すくなくともphpinfo()がまともに動かないようであれば
別のプログラムも同様にまともに動かないような気がするのですが・・・。
>PHPはUNIXのルートサーバにしかインストールされていない
おっしゃる用語の意味がよくわからないのですが、
そのサーバーの管理者にPHPがまっとうに動かない旨今回の事例を踏まえて
確認してみてはいかがですか?
この回答への補足
<?
phpinfo()
?>
を記載したファイルinfo.phpというファイル名で保存しWebブラウザ経由で実行したところ、白い画面になってしまいました。セキュリティの観点から、この関数が削除されているといったこともあるのでしょうか?
その他のPHPファイルはうまく動いています。
うちの大学の環境では、PHPはルートサーバにインストールされていて、各自の作業用Webディレクトリは、ルートサーバにマウントされるようになっていて、Apache経由であればPHPを実行できるのですが、コマンドライン経由では、パスが切られていないため、直接コマンドを実行することができないのです。
バージョンについては、確認してみます。ありがとうございました。
失礼しました。作成した、info.phpのファイルパーミッションの問題でした。修正して再度実行したところ「PHP Version 5.1.6」であることがわかりました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- C言語・C++・C# c言語の問題です 3 2023/01/10 16:15
- 英語 この英文は平易な反面格調高いですか? 1 2023/01/15 12:04
- JavaScript 画像の表示位置 3 2022/12/23 08:25
- Java 結果的につかあなかったけど 9 2022/07/05 17:57
- 英語 horseshoe pitch 1 2022/03/31 02:46
- アニメ アニメのマジンガーZに詳しいお方に質問です。 1 2022/08/27 16:49
- 文学 S.Silverstein作の童話The Giving Treeを読んでいます。なぜisのみ斜体文 3 2023/02/22 16:06
- 英語 英文解釈を教えてください。 3 2023/07/10 13:57
- 文学 The Giving Tree(邦訳おおきな木)について、木の幹に"M.E.+Y.L."と"M.E. 3 2023/03/01 12:48
- JavaScript 1日1回引けるJavaScriptおみくじについて 1 2022/12/12 22:28
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
php.ini 繰り返してるのはなぜ...
-
PHPで、自分で作った変数かどう...
-
語句の意味を教えてください
-
PHPなどの主流コミュニティ
-
ここで言う空文字の意味とは?
-
PHPのif文でその処理を途中で抜...
-
PHPについて質問です!!
-
FTPコマンドでディレクトリごと...
-
functionに括弧を使用するとエラー
-
Subversionのリポジトリの削除
-
外部のHTMLに書かれた文字を取...
-
アップロードなのですが
-
O/Rマッパーの選定
-
php→mysqlへの接続が出来ない(...
-
画面にそのままを出力したい
-
WSHやVBSについて
-
cronで動かすと保存されなくなる
-
PHPでカンマ区切り文字列を数値...
-
メールに添付されたものをその...
-
アップロードしたファイルの移...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
FORMタグを使わずに、POSTする...
-
eclipseのエラーの意味
-
グローバル変数
-
PHP関数で呼んだまま返って...
-
登録、削除、リスト、もう一つ...
-
phpのプログラミングについて質...
-
PHP5でMySQLを再起動させるプロ...
-
smartyでホームページ上の画像...
-
PHPプログラムの内部からPOSTす...
-
同じレス内に質問の キャッチボ...
-
フォルダ名が日本語の場合の文...
-
ここで言う空文字の意味とは?
-
動的なHTMLの書き換え
-
携帯電話のwebページでphpによ...
-
PHPをviコマンドでプログラムし...
-
VBおすすめ書籍
-
view_Ebook.phpについて
-
phpとCGIの関係がよくわからな...
-
MySQLのベースに書かれたプログ...
-
system関数でphpが動作しない
おすすめ情報