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で5秒待つプログラム
-
onedrive にexcelファイルをア...
-
PEARのmimeDecodeでメール解析...
-
awsにApacheとPHPを入れて、何...
-
拡張子php画像をjpg画像等に変...
-
日本語ファイル名のアップロー...
-
さくらサーバーにて、phpからメ...
-
PHP フォルダ名やファイル名に0...
-
拡張子php画像をbmp画像等に変...
-
php、JDライブラリを用いて画像...
-
フォントの色を変えるには?
-
PHPでxmlをAPIに送信する方法(P...
-
edmaxで送信できなくなりました
-
深い階層のフォルダの作成や削...
-
PHPのsystem()でjava
-
文字化けについて
-
ローカル環境でのメール送信
-
phpにて、ipアドレスによる処理...
-
CFileDialogの最初のディレクト...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
PHPのみでの背景色は指定できる...
-
smartyでホームページ上の画像...
-
eclipseのエラーの意味
-
FORMタグを使わずに、POSTする...
-
phpとaspの違いについて
-
ここで言う空文字の意味とは?
-
PHPからPerlにデータを渡して結...
-
VBおすすめ書籍
-
携帯電話のwebページでphpによ...
-
php エラー
-
書籍よりも より良い htmlspeci...
-
語句の意味を教えてください
-
functionCheckAuthについて
-
さくらのレンタルサーバーでメ...
-
PHPで、楽天APIを自動更新さ...
-
コメント投稿
-
PDOのlastInsertIDについて
-
PHPでの感嘆符
-
PHPとOracleの接続ができない
-
CGI(Perl)でできてPHPではで...
おすすめ情報