こんにちは。
本日はチャットボットのサンプルをせっせと作っています。
それではコードです。
<!doctype html>
<head>
<title>
Sample
</title>
</head>
<body>
<form method="POST">
<textarea type="text" name="comment" placeholder="自由に入力してください"></textarea>
<input type="submit">
</form>
<?php
$data = htmlspecialchars($_POST['comment'],ENT_QUOTES,'UTF-8');
$arr = array('おはようございます','こんにちは','こんばんは','こまりましたね');
echo $data.'<br>';
foreach($arr as $val){
if($data == $val){
echo $val.'<br>';
}elseif($data = 'こんにちは' == $val = 'こんにちは'){
echo $val.'<br>';
}elseif($data = 'こんばんは' == $val = 'こんばんは'){
echo $val.'<br>';
}elseif($data = 'お金がありません' == $val = 'こまりましたね'){
echo $val;
}
break;
}
本当にチャットボットというか、チャットボットもどきというか・・・
これだと、おはようございますと入力しSubmitすると
おはようございますと返してくれます。
これは個人的に思っていたことと同じなので、正解。
問題はその後です。
こんにちはとうってこんばんはと出たり
こんにちはと返してきたりとなります。
これは恐らくelseifの書き方が悪いんだろうな
という印象を受けています。
PHP Data objectもやってみていますが
foreachが動かないという所から
foreachや配列への理解が足りていない
というところから路線を変えて
こういう風に、基礎的な内容だけでチャットボット
の作成をしてみようと思った次第です。
foreachとswitch文を組み合わせて
やってみたりもしてみようと思います★