Ошибки «неожиданной строки» на PHP - странные вещи. Они часто не указывают на то, что похоже на строку в коде.
Это из-за того, как PHP обрабатывает константы. FOOBAR
может быть константой, например, как любая последовательность букв, которая не представляет собой нечто другое, например имя класса или ключевое слово. Но, если он не был определен, PHP рассматривает его как строку 'FOOBAR'
. Это глупое поведение, но мы идем. Это для вас PHP.
Причина, по которой вы получаете эту ошибку, состоит в том, что in
не является ключевым словом (см. Руководство пользователя list of keywords). И это не имя класса (хотя это может быть). Он не имеет неотъемлемого значения в PHP. Поэтому PHP видит это и думает «ага, вы явно хотите строку 'in'
». Таким образом, ваш код выглядит примерно так:
foreach($result 'in' $results){
PHP теперь говорит: «О, но здесь не может быть ни одной строки!» Это, очевидно, верно. Однако не очевидно, почему дизайнеры PHP решили, что самое полезное сообщение на этом этапе будет состоять в том, чтобы сказать, что была неожиданная строка. Очень вводящий в заблуждение!
Но проблема, как указано в другом месте, то, что вы пытаетесь сделать петлю Javascript:
for (result in results) {
Где вы стремитесь цикла PHP:
foreach ($results as $result) {
Отличный ввод и многое очень быстро, спасибо всем! Выбрал этот, поскольку он обратился к рассматриваемой строке - хотел бы я принять более одного! – Gary