déclaration des variables simples dans les vues de Laravel
c'est probablement une chose simple, mais je ne sais pas comment déclarer et incrémenter une variable entière dans une vue dans Laravel.
j'ai quelques boucles foreach que j'utilise:
@foreach($fans as $fan)
@foreach ($array as $x)
@if($fan->fbid==$x)
@endif
@endforeach
@endforeach
je voudrais ajouter une variable entière $a, qui compte le nombre de fois qu'elle le fait à travers la déclaration if. Comme:
$a=0;
@foreach($fans as $fan)
@foreach ($array as $x)
@if($fan->fbid==$x)
$a++;
@endif
@endforeach
@endforeach
{{$a}}
Quelle est la syntaxe appropriée pour faire cela dans une vue de Laravel? Remercier.
8 réponses
La Lame {{ }}
fera l'écho de ce que vous êtes en train de faire.
Vous devez faire comme ceci:
<?php $a = 0; ?>
@foreach($fans as $fan)
@foreach ($array as $x)
@if ($fan->fbid == $x)
<?php $a++; ?>
@endif
@endforeach
@endforeach
{{$a}}
Laravel 5.2 et au-Dessus de
@php ($a = 0)
@foreach($fans as $fan)
@foreach ($array as $x)
@if($fan->fbid==$x)
@php ($a++)
@endif
@endforeach
@endforeach
{{$a}}
Ou dans le Bloc
@php
$a = 0
@endphp
c'est la façon dont il travaille avec moi
@php($a++)
et si son code long
@php
enter your codes here
@endphp
ou vous pouvez utiliser
<?php a++ ?>
Vous avez deux approches pour résoudre votre problème:
- utilisez la balise PHP traditionnelle
<?php
et?>
dans votre lame fichier de modèle..blade.php
fichier compilé à un fichier php traditionnel en remplaçant le{{}}
symbole par<?php ?>
. Par conséquent, n'hésitez pas à éditer ce fichier comme un fichier PHP normal. - Étendre la lame de la syntaxe pour écrire le code d'une façon plus élégante que cette réponse. Cependant, la lame moteur est toujours pas pris en charge dans L'IDE majeur donc vous allez rencontrer la difficulté de l'auto complète ainsi que le code indice dans votre IDE si vous utilisez cette solution.
Une meilleure approche pourrait être:
@for ($i=0; $i<=count($fans); $i++)
@if($fans[$i]->fbid==$i)
Fan Count: {{ $i}}
@endif
@endfor
Vous pouvez le faire comme ceci dans la lame modèles
{{--*/ $a = 0 or whatever here /*--}}
vous devriez utiliser ceci comme mentionné par le @Patrick Reck comme
<?php $a = 0; ?>
@foreach($fans as $fan)
@foreach ($array as $x)
@if ($fan->fbid == $x)
<?php $a++; ?>
@endif
@endforeach
@endforeach
{{$a}}
OR
@php($a = 0)
@foreach($fans as $fan)
@foreach ($array as $x)
@if ($fan->fbid == $x)
@php ($a++)
@endif
@endforeach
@endforeach
{{$a}}
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);
}
si vous voulez obtenir un cryptage de 16 caractères.
internal_decrypt('your string', 'your secrect key',16);