前提・実現したいこと
PHPで自己紹介のプログラムを書いている途中で以下のエラーメッセージが発生しました。
発生している問題・エラーメッセージ
userクラス内のif文の中でセミコロンに対してエラーが出ているのですが、セミコロンを外すと中括弧が足りないとエラーが出てしまいます。
PHP Parse error: syntax error, unexpected token ";" in /workspace/Main.php on line 27
該当のソースコード
<?php //期待される出力 //こんにちは! 生徒の田中です! //Hello! I'm Jonathan! (new Student("田中"))->greeting(); echo "\n"; (new Teacher("Jonathan"))->greeting(); /*---↓↓↓↓↓ここにUserクラスを作成してください↓↓↓↓↓↓--*/ class User { public $name; public $language; public function __construct($name){ $this->name = $name; if(strlen($this->myName != mb_strlen($this->myName,'utf8')) { //日本語文字列が含まれている $this->language = "Japanese"; }else{ //日本語文字列が含まれていない $this->language = "English"; } } } /*---------------------------------------------*/ class Student extends User{ public function greeting(){ if($this->language == "English"){ echo "Hello! I'm {$this->name}!"; }elseif($this->language == "Japanese"){ echo "こんにちは! 生徒の{$this->name}です!"; }else{ echo "言語が設定されていません!"; } } } class Teacher extends User{ public function greeting(){ if($this->language == "English"){ echo "Hello! I'm {$this->name}!"; }elseif($this->language == "Japanese"){ echo "教師の{$this->name}です! よろしくお願いします!"; }else{ echo "言語が設定されていません!"; } } } ?>
試したこと
;コロンのつけ外しや括弧のセットの確認を行いました。
補足情報(FW/ツールのバージョンなど)
MacBook M1チップ
括弧の数があっていないんじゃないでしょうか。
回答4件
あなたの回答
tips
プレビュー