У меня есть строка, и я превращаю ее в массив следующим образом:
$a = "adik melempar kail ke tengah danau"
Array:
[0] => adik
[1] => melempar
[2] => kail
[3] => ke
[4] => tengah
[5] => danau
Я отметил array[1] => melempar
как глагол (ката кержа).
Как пометить следующий массив (после array[1]
) как объект и предыдущий массив (перед array[1]
) как предмет?
Английский пример может быть:
$a = "brother throw hook to the lake"
Array:
[0] => brother
[1] => throw
[2] => hook
[3] => to
[4] => the
[5] => lake
Собираетесь ли вы перебирать массив в поисках глаголов? Предполагая, что у вас есть переменная индекса индекса $ index, вы можете сделать что-то вроде этого:
$words = explode(" ", $theSentence);
$index = 0;
foreach($words as $key=$theWord){
// apply your logic here that determines whether word is a verb
if isVerb($theWord){
$arrayResult[$index] = "verb";
if($index > 0){
$arrayResult[$index - 1 ] = 'subject';
arrayResult[$index + 1 ] = 'object';
}
}
}
...
Конечно, все это очень общее, поскольку я не знаю контекста. Похоже, у вас есть какая-то логика, чтобы определить, какие слова по обе стороны от глагола.
Других решений пока нет …