php,如果elseif循环无法正常工作

时间:2018-08-17 09:47:52

标签: php arrays if-statement

我有以下php代码。没用要么只是检查条件。如果在“如果”中找不到,则直接跳至其他部分并打印“中性”。

在下面的代码中。我声明了三个数组。一个包含否定词的数组,第二个包含建议词的数组,第三个包含否定词的数组。然后,我取一个字符串,并一个接一个地检查该字符串/文本是否包含负词。如果是,则打印负号,否则检查建议字数组。如果在文本中找到任何建议词,则打印建议。如果找不到建议字,则转到正数数组并在其中搜索,依此类推...

在我下面的代码中,它应该打印“ positve”,但它打印“ neutral”

<?php

$neg_words= array('not good',
'poor',
'late',
'wrong');


$sug_words=array('would',
'should',
'suggestion',
'want');

$pos_words=array('Great',
'great',
'good',
'smile',
'pleasant',
'interesting',
'pleasing',
'nice',
'happy',
'love',
'like',
'loving',
'liking',
'amazing');

$string = 'I like the way';

$tmp =explode(' ', $string);

$strings=end($tmp);




if (in_array($strings,$neg_words)):
echo "Negative"; 
elseif (in_array($strings,$sug_words)):
 echo "Suggestion"; 
elseif (in_array($strings,$pos_words)):
echo "positive";
else:
 echo "Neutral"; 

endif;



?>

1 个答案:

答案 0 :(得分:0)

上面的代码中出现了,不需要end()。

<?php

$neg_words= array('not good',
'poor',
'late',
'wrong');

$sug_words=array('would',
'should',
'suggestion',
'want');

$pos_words=array('Great',
'great',
'good',
'smile',
'pleasant',
'interesting',
'pleasing',
'nice',
'happy',
'love',
'like',
'loving',
'liking',
'amazing');

$string = 'I like the way';

$strings =explode(' ', $string);





if (array_intersect($strings,$neg_words))
echo "Negative"; 
elseif (array_intersect($strings,$sug_words))
 echo "Suggestion"; 
elseif (array_intersect($strings,$pos_words))
echo "positive";
else
 echo "Neutral"; 




?>