Объявление простых переменных в представлениях в Laravel
Это, наверное, простая вещь, но я не знаю, как объявлять и увеличивать целочисленную переменную в представлении в Laravel.
У меня есть пара циклов foreach, которые я использую:
@foreach($fans as $fan)
@foreach ($array as $x)
@if($fan->fbid==$x)
@endif
@endforeach
@endforeach
Я хотел бы добавить целочисленную переменную $a, которая подсчитывает количество раз, которое она делает через оператор if. Как:
$a=0;
@foreach($fans as $fan)
@foreach ($array as $x)
@if($fan->fbid==$x)
$a++;
@endif
@endforeach
@endforeach
{{$a}}
Каков правильный синтаксис для этого в представлении в Laravel? Спасибо.
Ответы
Ответ 1
Blade {{ }}
будет повторять то, что вы делаете.
Вы должны сделать это следующим образом:
<?php $a = 0; ?>
@foreach($fans as $fan)
@foreach ($array as $x)
@if ($fan->fbid == $x)
<?php $a++; ?>
@endif
@endforeach
@endforeach
{{$a}}
Ответ 2
Laravel 5.2 и выше
@php ($a = 0)
@foreach($fans as $fan)
@foreach ($array as $x)
@if($fan->fbid==$x)
@php ($a++)
@endif
@endforeach
@endforeach
{{$a}}
Или в блоке
@php
$a = 0
@endphp
Ответ 3
вот как это работает со мной
@php($a++)
и если его длинный код
@php
enter your codes here
@endphp
или вы можете использовать
<?php a++ ?>
Ответ 4
У вас есть два подхода к решению вашей проблемы:
- Используйте традиционный тег PHP
<?php
и ?>
в файле шаблона вашего клинка. Файл .blade.php
будет скомпилирован в традиционный php файл, заменив символ {{}}
на <?php ?>
. Поэтому не стесняйтесь редактировать этот файл как обычный PHP файл.
- Расширьте синтаксис лезвия, чтобы написать код более элегантным способом, чем этот ответ. Тем не менее, механизм лезвия по-прежнему не поддерживается в основной среде IDE, поэтому при использовании этого решения вы столкнетесь с трудностью автозаполнения, а также подсказкой кода в своей среде IDE.
Ответ 5
Лучше aproach может быть:
@for ($i=0; $i<=count($fans); $i++)
@if($fans[$i]->fbid==$i)
Fan Count: {{ $i}}
@endif
@endfor
Ответ 6
Вы можете сделать это так в шаблонах кликов
{{--*/ $a = 0 or whatever here /*--}}
Ответ 7
Вы должны использовать это, как упоминалось в The @Patrick Reck, например
<?php $a = 0; ?>
@foreach($fans as $fan)
@foreach ($array as $x)
@if ($fan->fbid == $x)
<?php $a++; ?>
@endif
@endforeach
@endforeach
{{$a}}
ИЛИ
как упомянуто @Moode Osman для Laravel 5.2 и Above
@php($a = 0)
@foreach($fans as $fan)
@foreach ($array as $x)
@if ($fan->fbid == $x)
@php ($a++)
@endif
@endforeach
@endforeach
{{$a}}
Ответ 8
function internal_decrypt($string, $key,$character) {
$result = '';
$string = base64_decode($string);
for($i=0; $i<$character; $i++) {
$char = substr($string, $i, 1);
$keychar = substr($key, ($i % strlen($key))-1, 1);
$char = chr(ord($char)-ord($keychar));
$result.=$char;
}
return $result;
}
function internal_encrypt($string, $key,$character) {
$key='Bangladesh is a big country';
$result = '';
for($i=0; $i<$character; $i++) {
$char = substr($string, $i, 1);
$keychar = substr($key, ($i % strlen($key))-1, 1);
$char = chr(ord($char)+ord($keychar));
$result.=$char;
}
return base64_encode($result);
}
Если вы хотите получить 16-символьное шифрование.
internal_decrypt('your string', 'your secrect key',16);