質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

Q&A

解決済

2回答

123閲覧

phpのArray文法について教えて下さい。

yebisu8853

総合スコア10

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

0グッド

0クリップ

投稿2019/05/25 03:26

編集2019/05/25 03:42

参考サイトから次のようなコードを教えて貰いました。
sitemapを自動生成するコードです。

どうも文法に問題があるようで動作しません。
$URLS= の行でエディターがシンタックスエラーです。
どなたかご教授下さいますでしょうか?

// トップページのURL define("HOMEPAGE", "https://hogehoge.com/"); // URLを保存する変数 $URLs = Array(md5(HOMEPAGE)."0" => [HOMEPAGE, false, 0]); foreach($index_name as $index){ $modified_time = @filemtime(dirname(__FILE__). "/". $index); if($modified_time){ $URLs[md5(HOMEPAGE)."0"][1] = date(DATE_W3C, $modified_time); break; } }

DeramWeaverで編集中に次のエラーメッセージが出ます。

該当の行にシンタックスエラーがあります。このエラーを修正しないと機能しない可能性があります。

もちろんこのままサイトに置いてもブラウザ上には

HTTP ERROR 500

と表示されます。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

kei344

2019/05/25 03:28

(質問文は編集できます)エラー文も提示してください。また、質問文のコード/エラー文はそれぞれコードブロックで囲んでいただけませんか? ```(バッククオート3つ)で囲み、前後に改行をいれるか、コードを選択して「<code>」ボタンを押すとコードブロックになります。
退会済みユーザー

退会済みユーザー

2019/05/25 03:35

タグのArrayListはPHPに無関係なので、外してください。
退会済みユーザー

退会済みユーザー

2019/05/25 03:35

また、質問する時にはエラーメッセージはコピぺで提示してください。
otn

2019/05/25 03:56

PHPを勉強するつもりがあるのか、そんなつもりはなくてサイトマップを作りたいだけなのか、どちらでしょうか?
yebisu8853

2019/05/25 04:21

今回の件は phpでsitemapが作れるんだ! から始まっています。 php + mysqlで顧客の管理プログラムとかCMSとか作成してきました。 ある程度のphp知識は必要と思いますが、今回のようなエラーにぶつかると応用が利かなくて困っています。
m.ts10806

2019/05/25 04:33

>phpでsitemapが作れるんだ! まあCMSとかであればURLのルールも決まっているでしょうし、 DBから持って来ればいいだけなのでページどころかsitemap.xmlも作れます。 「PHPで作れる」というより「作る」ですけど。 DreamweaverでPHPしたことないですが、他のIDEでも確認してみては?(Eclipseとか) Syntaxとか文法エラーでしたらどういうエラーかきちんと出してくれますよ。
kei344

2019/05/25 05:26

DeramWeaverは最新ですか?
yebisu8853

2019/05/25 05:33

皆様、沢山のコメントを有り難う御座いました。m(_ _)m 開発環境の提示が無くて、お騒がせしました。 今後は正確に表記するように心がけます。 最終的には「m6u」さんのご指摘がビンゴです。調べたところphp5.3.3が乗ってるサーバーでした。 配列[]表記が使用出来なくてエラーが出ていたようです。array()に置き換えて解決しました。
m.ts10806

2019/05/25 05:34

なるほど。やはり環境情報の提示は必須ですね。
guest

回答2

0

ベストアンサー

php

1$URLs = array(md5(HOMEPAGE)."0" => [HOMEPAGE, false, 0]);

または

php

1$URLs = [md5(HOMEPAGE)."0" => [HOMEPAGE, false, 0]];

投稿2019/05/25 03:28

退会済みユーザー

退会済みユーザー

総合スコア0

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

yebisu8853

2019/05/25 03:47

早速のご対応、有り難う御座います。 ご提示頂いた訂正案2件ともコピペで試させて頂きましたが、どちらもシンタックスエラーです。 文法的には、問題無いんでしょうかねー? 他のコードに置き換えられれば良いのですが、勉強不足を実感させられます。
退会済みユーザー

退会済みユーザー

2019/05/25 03:49

提示されたコードをみる限りでは。
退会済みユーザー

退会済みユーザー

2019/05/25 03:52 編集

何度も同じことを言われるのは嫌だろうけど、「シンタックスエラー」では何も伝わりません。 プログラマにとって大事なのは、「SysntacError:......」後ろの部分です。 まず、開発中はエラーの詳細を表示する設定でコードを書いてください。 <?php ini_set('display_errors', 1); error_reporting(E_ALL); を記述します。
yebisu8853

2019/05/25 04:03

ご指摘、有り難う御座います。 私も逆の立場なら、エラーぐらいハッキリさせてから質問してよー、と思います。 そもそも現時点で、構文に不具合あり?phpプログラムとして機能していないので サーバーのエラーログにもエラー500とまでしか出ません。 ブラウザにもdisplay_errorsを吐いてくれない状況です。 回ってくれません>< 困りました。
退会済みユーザー

退会済みユーザー

2019/05/25 04:04

ni_set('display_errors', 1); error_reporting(E_ALL); これを書く場所が間違っているのだと思います。
退会済みユーザー

退会済みユーザー

2019/05/25 04:04

文法エラーで500の場合、phpコードの冒頭にそれを書いても実行されないからwebブラウザにエラー情報が出ないって maisumakunせんせいの回答で観た。.htaccessにphp_flagで記述するやり方をお試しいただきたい。 参考→https://qiita.com/shotets/items/3c95aef631b2c5eadae5
退会済みユーザー

退会済みユーザー

2019/05/25 04:27

php5.4よりも古いと、配列の宣言で[]表記が使えずarray()しか使えなかったりするので注意。
guest

0

書かれている範囲に、シンタックスエラーはないので、
・書かれている範囲外に原因がある
・ちゃんとコピペしていない
などでしょうか。未定義の変数もあるし。

投稿2019/05/25 04:30

otn

総合スコア84555

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問