Форум программистов, компьютерный форум, киберфорум
PHP для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.72/25: Рейтинг темы: голосов - 25, средняя оценка - 4.72
0 / 0 / 0
Регистрация: 22.03.2017
Сообщений: 8
1

Ошибка "Parse error: syntax error, unexpected '"', expecting identifier (T_STRING) or variable (T_VARIABLE)

11.07.2017, 18:40. Показов 4562. Ответов 4
Метки нет (Все метки)

Пытаюсь сделать фильтр с помощью eval()
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
 foreach ($podbors as $podbor){
 
if (isset($podbor['price_min'])) {
    $usl = 'if ($object["price"] >= $podbor["price_min"]) {'."\n";
    $usl_end = '};'."\n";
}
if (isset($podbor['price_max'])) {
    $usl .= 'if ($object["price"] <= $podbor["price_max"]) {'."\n";
    $usl_end .= '};'."\n";
}
if (isset($podbor['gross_area_min'])) {
    $usl = 'if ($object["gross_area"] >= $podbor["gross_area_min"]) {'."\n";
    $usl_end .= '};'."\n";
}
if (isset($podbor['gross_area_max'])) {
    $usl .= 'if ($object["gross_area"] <= $podbor["gross_area_max"]) {'."\n";
    $usl_end .= '};'."\n";
}
}
//подбор объектов
  foreach ($podbors as $podbor){
       if ($podbor['elm_id'] == $segment){
        foreach ($objects as $object){
        if ($podbor['category_id'] == $object['category_id']){
        if ($object['subcategory_id'] == $podbor['subcategory_id']){
           $vid="<div>".$object['object_id']."</div><div>".$object['street']."</div><div>".$object['house_number']."</div><div>".$object['price']."</div><div>".$object['gross_area']."</div>";
        $itog = $usl.$vid.$usl_end;
        eval("\$itog = \"$itog\";");
        echo $itog. "\n";
        }
        }
         
        }
        } 
        }
Выдает ошибку: "Parse error: syntax error, unexpected '"', expecting identifier (T_STRING) or variable (T_VARIABLE) or number (T_NUM_STRING) in /home/q/q9273345/q9273345.beget.tech/public_html/app_crm/views/crm_podborka.php(69) : eval()'d code on line 1 if ($object["gross_area"] >= $podbor["gross_area_min"]) { if ($object["gross_area"] <= $podbor["gross_area_max"]) {"
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
11.07.2017, 18:40
Ответы с готовыми решениями:

Parse error: syntax error, unexpected '' (T_ENCAPSED_AND_WHITESPACE), expecting identifier (T_STRING) or variable (T_VARIABLE) or number (T_NUM_STRING
Помогите пжлст решить проблему с этой ошибкой! &lt;?php $mytext = &quot;&lt;?php ...

Ошибка Parse error: syntax error, unexpected T_CLASS, expecting T_STRING or T_VARIABLE
да блин капец.. не могу понять ничего.. кто поможет? Parse error: syntax error, unexpected...

Ошибка Parse error: syntax error, unexpected T_ENCAPSED_AND_WHITESPACE, expecting T_STRING or T_VARIABLE or T_NUM_STRING
Ясно, что проблема с кавычками, но как исправить :о Parse error: syntax error, unexpected...

Ошибка в php - Parse error: syntax error, unexpected T_ENCAPSED_AND_WHITESPACE, expecting T_STRING or T_VARIABLE or T_NUM_STRING in CODE on line 9
Доброго времени суток! Есть код, в нем где-то есть ошибка (вроде кавычки), но знаний php у меня 0,...

4
313 / 312 / 221
Регистрация: 11.07.2015
Сообщений: 1,107
11.07.2017, 19:40 2
попробуй без eval
1
0 / 0 / 0
Регистрация: 22.03.2017
Сообщений: 8
12.07.2017, 07:56  [ТС] 3
plohoyav, без eval работает. Не хотелось загромождать этот участок условиями.
0
1727 / 1051 / 388
Регистрация: 13.06.2013
Сообщений: 3,577
12.07.2017, 08:24 4
Лучший ответ Сообщение было отмечено l_vina как решение

Решение

Цитата Сообщение от l_vina Посмотреть сообщение
Не хотелось загромождать этот участок условиями.
Именно это вы и сделали. Код очень плохо читается.

Что мешает записать условие в переменную и потом использовать? Эти условия по сути просто дают bool переменную со значением true/false.

PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
foreach ($podbors as $podbor) {
    $object = 'что то там';
 
    $condition = getCondition ($object, $podbor);
    if ($condition) {
        $itog = 'что то там';
    }
}
 
function getCondition($object, $podbor) {
    if (isset($podbor['price_min'])) {
        $condition = $object["price"] >= $podbor["price_min"];
    }
 
    if (isset($podbor['price_max'])) {
        $condition = $object["price"] <= $podbor["price_max"];
    } 
 
    return $condition;
}
А не работает у вас потому что у вас в $itog полный бред. Сделайте echo $itog, и там явно будет нерабочий код. Я его даже уже представляю, там внутри if будет html код
1
0 / 0 / 0
Регистрация: 22.03.2017
Сообщений: 8
12.07.2017, 17:13  [ТС] 5
tarasalk, спасибо огромное!
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
12.07.2017, 17:13

Заказываю контрольные, курсовые, дипломные работы и диссертации здесь.

Parse error: syntax error, unexpected T_ENCAPSED_AND_WHITESPACE, expecting T_STRING or T_VARIABLE or T_NUM_STRING
Здравствуйте, при попытке объединить регистрацию на DLE и IPB у меня вылезает ошибка: Parse...

Parse error: syntax error, unexpected T_ENCAPSED_AND_WHITESPACE, expecting T_STRING or T_VARIABLE or T_NUM_STRING in Z:\home\script.ua\www\script_1.ph
имеется код $res = mysql_query(&quot;SELECT * FROM news&quot;); $count = mysql_num_rows($res); $res_2 =...

PHP Parse error: syntax error, unexpected '(', expecting variable (T_VARIABLE) or '$' in
Всем привет! Делаю один скрипт, когда пытаюсь запустить - вижу ошибку: PHP Parse error: ...

Вывод с помощью "echo". Parse error: syntax error, unexpected T_STRING, expecting ',' or ';'
Есть такой код &lt;?php $file = &quot;1.txt&quot;; $cou = count(file($file)); $f =...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.