PHP 不正な文字列?エラー
解決したいこと
ここに解決したい内容を記載してください。
PHPでエラーがでてしまいます。
恐らく連想配列?あたりがうまくいってないかと思うのですが、まったくわかりませんでした。
教えて頂けると幸いです。
発生している問題・エラー
出ているエラーメッセージを入力
Warning: Illegal string offset 'memoTitle' in /var/www/html/memoapp.php on line 26
1. メモのタイトル:1
[24-Feb-2021 23:23:57 Asia/Tokyo] PHP Warning: Illegal string offset 'memoBody' in /var/www/html/memoapp.php on line 27
または、問題・エラーが起きている画像をここにドラッグアンドドロップ
該当するソースコード
ソースコードを入力
例)
<?php
function topMenuChoice() {
echo 'TOP MENU' . PHP_EOL;
echo '1. メモを登録' . PHP_EOL;
echo '2. メモリストを表示' . PHP_EOL;
echo '9. アプリケーションを終了' . PHP_EOL;
echo '番号を選択してください(1,2,9):';
return trim(fgets(STDIN));
}
function registerMemo() {
echo 'MEMOを登録してください。' . PHP_EOL;
echo '1. メモのタイトル:';
$memo['memoTitle'] = trim(fgets(STDIN));
echo '2. メモの詳細:';
$memo['memoBody'] = trim(fgets(STDIN));
echo 'メモの登録が完了しました。' . PHP_EOL;
return $memo;
}
function memoListDisplay($registerMemos) {
foreach ($registerMemos as $registerMemo) {
//メモのリスト表示
echo '登録済みのMEMOを表示します:'. PHP_EOL;
echo '1. メモのタイトル:' . $registerMemo['memoTitle'] . PHP_EOL; //ここが問題?
echo '2. メモの詳細:' . $registerMemo['memoBody'] . PHP_EOL; //ここが問題?
echo '----------' . PHP_EOL;
}
return;
}
$registerMemos = [];
//MEMO MENUの分岐
while (true) {
echo '1. メモを登録' . PHP_EOL;
echo '2. メモを表示' . PHP_EOL;
echo '9. アプリケーションを終了' . PHP_EOL;
echo '番号を選択してください(1,2,9):';
$topMenuChoice = trim(fgets(STDIN));
if ('1' == $topMenuChoice || '1' == $topMenuChoice) {
//メモを登録
$registerMemos = registerMemo();
} elseif ('2' == $topMenuChoice || '2' == $topMenuChoice) {
//メモリストを表示
memoListDisplay($registerMemos);
} elseif ('9' == $topMenuChoice || '9' == $topMenuChoice) {
//アプリケーションを終了
break;
}
}
自分で試したこと
ここに問題・エラーに対して試したことを記載してください。