Я работал над лезвием, в то время как я столкнулся с проблемой с моей ошибкой броска троичного оператора
синтаксическая ошибка, неожиданная ')' (представление: C: \ xampp \ htdocs \ drm \ resources \ views \ includes \ sidebar.blade.php) неожиданно "("
В
<li class="<?php echo e(preg_match("/project/i", url()->current()) ? 'active'); ?>">
Это не работает
<li class="{{ preg_match('/project/i', url()->current()) ? 'active' }}">
Это работает
<li class="@if(preg_match("/project/i", url()->current())) {{'active'}} @endif">
Это тестовый пример, и preg_match("/project/i", url()->current()
возвращает 1 или true
4 ответа
В PHP есть два вида операций if, которые мы можем написать:
- первый и известный -
@if/@endif
.
Example1 :
if( $valid ) {
$x = 'yes';
} else {
$x = 'no';
}
- вторая - это краткая форма, известная как тернарный оператор
($ valid) ? да: нет;
Это пример1, но с троичным оператором:
$x = $valid ? 'yes' : 'no';
Давайте вернемся к вашему первому варианту использования, который соответствует этому:
<li class="{{ preg_match('/project/i', url()->current()) ? 'active' }}">
В этом случае у вас возникла проблема с лексической структурой, потому что вы не уважали ternary operator
, поэтому движок PHP не может разрешить то, что вы написали.
Для получения дополнительной информации о троичном операторе а>
Попробуйте что-то вроде этого, добавив двоеточие: он оценивает 'active', если значение preg_match ('/ project / i', url () -> current ()) равно true ''
<li class="{{ preg_match('/project/i', url()->current()) ? 'active':'' }}">
Я редактировал это. надеюсь это поможет
Вам нужно использовать еще
<li class="{{ (preg_match('/project/i', url()->current())) ? 'active' : '' }}">
Попробуйте добавить еще условие
<li class="{{ preg_match('/project/i', url()->current()) ? 'active' : '' }}">
Похожие вопросы
Новые вопросы
laravel
Laravel - это бесплатная веб-инфраструктура PHP с открытым исходным кодом, созданная Тейлором Отвеллом и предназначенная для разработки веб-приложений по архитектурному шаблону модель-представление-контроллер (MVC) на основе Symfony. Исходный код Laravel размещен на GitHub и лицензирован в соответствии с условиями лицензии MIT.