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

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

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

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

Q&A

解決済

4回答

1228閲覧

phpの初歩でエラー

yudedako

総合スコア18

PHP

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

0グッド

0クリップ

投稿2016/06/08 01:07

###前提・実現したいこと
現在生PHPでクラスの勉強をしていて参考書の例題を行っているのですがどうしてもエラーがなおりません

###発生している問題・エラーメッセージ

Parse error: syntax error, unexpected '{' in C:\xampp\htdocs\sample1.php on line 35

###該当のソースコード

<html> <head></head> <body> <?php class Average{ var $samples; //配列
function Average(){ $this->samples = array(); } //追加 function add($value){ $this->samples[sizeof($this->samples)] = $value; } //配列件数表示 function countValues(){ return sizeof($this->samples); } //最大値 function getMax(){ $max = 0; foreach ($this->samples as $value) { if ($max < $value) { $max = $value; } } return $max; } //平均値 function getAverage(){ if(0 == sizeof($this->samples)){ return 0; } $sum = 0; foreach ($this->samples as $value) { $sum += $value; } return $sum / sizeof($this->samples); }

}
$avg = new Average;
for ($i=1; $i <=10 ; $i++) {
$avg->add($i);
}
echo $avg->getAverage();
?>

</body> </html>

35行目とは
if(0 == sizeof($this->samples)){
この部分です。

しかし構文エラーが見当たらないため困っています。
###試したこと
該当のif分を削除すると動きます。

###補足情報(言語/FW/ツール等のバージョンなど)
環境はxamppの3.2.2をwindows8.1で使用しています。
ある事情で文字コードはsjisで作業しています。
そこが原因でしょうか?

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

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

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

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

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

guest

回答4

0

ベストアンサー

上に挙げられたコードを3v4l.orgで実行してみましたが、正常に動作するようです。

全角空白とか、余計な文字が紛れ込んでいることはないでしょうか。

投稿2016/06/08 01:22

maisumakun

総合スコア145183

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

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

yudedako

2016/06/08 02:19

atomに全角スペースハイライトのプラグインを入れたら見事に全角スペースが入っていて削除したら解決しました ありがとうございました<(_ _)>
maisumakun

2016/06/08 02:21

全角スペースの混入はなかなか気づきにくい上に厄介なものです。個人的には、全角スペースも文字になるフォントを使っています。
yudedako

2016/06/08 05:08

そういう手もあるんですね! 調べて使ってみたいと思います ありがとうございます!
guest

0

xampp上だとしても、phpのソースはutf8n ln bom無しで書いて出力時に相手に合わせて文字コード変換するのが無難だと思いますが、ソースをsjisで書きたい場合はphp.iniのmbstring.internal_encodingにSJISを指定すれば良かったような記憶があります。

ソース中の日本語コメントが原因かは一旦全ての全角文字を削除して実行して確かめるのが早いとおもいます。全角スペースにも注意してください。

投稿2016/06/08 02:19

ippei

総合スコア89

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

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

0

以前、FTPでアップする際に文字コードを間違えた時にこのエラーがでた時があったので、文字コードのせいかもしれませんね。

投稿2016/06/08 01:53

act823

総合スコア266

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

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

0

Ideoneで試しましたが、問題なく動きました。

投稿2016/06/08 01:25

編集2016/06/08 01:26
ttyp03

総合スコア16998

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問