我有以下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;
?>
答案 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";
?>