2013-07-07 10 views
16

में विचारों में सरल चर घोषित करना यह शायद एक साधारण बात है, लेकिन मुझे नहीं पता कि लैरवेल में एक दृश्य में एक पूर्णांक चर घोषित करने और बढ़ाने के लिए कैसे नहीं।लार्वेल

मैं एक जोड़े foreach लूप है कि मैं का उपयोग कर रहा है:

@foreach($fans as $fan) 
    @foreach ($array as $x) 
     @if($fan->fbid==$x) 

     @endif 
    @endforeach 
    @endforeach 

मैं एक पूर्णांक चर $ एक में फेंक, कि अगर बयान के माध्यम से समय की संख्या में यह बनाता मायने रखता चाहते हैं। पसंद:

$a=0; 
@foreach($fans as $fan) 
     @foreach ($array as $x) 
      @if($fan->fbid==$x) 
      $a++;     
      @endif 
     @endforeach 
    @endforeach 

{{$a}} 

लार्वेल में एक दृश्य में ऐसा करने के लिए उचित वाक्यविन्यास क्या है? धन्यवाद।

+2

http://stackoverflow.com/questions/13002626/laravels-blade-how-can-i-set-variables-in-a-template/17176876#17176876 –

उत्तर

28

ब्लेड {{ }} आप जो कर रहे हैं उसे प्रतिबिंबित करेंगे।

आप इस तरह यह करना चाहिए:

<?php $a = 0; ?> 
@foreach($fans as $fan) 
     @foreach ($array as $x) 
      @if ($fan->fbid == $x) 
       <?php $a++; ?>     
      @endif 
     @endforeach 
@endforeach 

{{$a}} 
+0

के संभावित डुप्लिकेट धन्यवाद! मुझे नहीं लगता था कि आप ब्लेड में नियमित PHP टैग का उपयोग कर सकते हैं। – user1072337

2

आप अपनी समस्या को हल करने के लिए दो दृष्टिकोण है:

  1. उपयोग पारंपरिक पीएचपी टैग <?php और अपने ब्लेड टेम्पलेट फ़ाइल में ?>। एक .blade.php फ़ाइल को द्वारा <?php ?> द्वारा प्रतिस्थापित करके पारंपरिक PHP फ़ाइल में संकलित किया जाएगा। इसलिए, इस फ़ाइल को सामान्य PHP फ़ाइल के रूप में संपादित करने के लिए स्वतंत्र महसूस करें।
  2. this answer के रूप में कोड को और अधिक सुरुचिपूर्ण तरीके से लिखने के लिए ब्लेड सिंटैक्स बढ़ाएं। हालांकि, ब्लेड इंजन अभी भी प्रमुख आईडीई में समर्थित नहीं है, इसलिए यदि आप इस समाधान का उपयोग करते हैं तो आप अपने आईडीई में ऑटो पूर्ण और साथ ही कोड संकेत की कठिनाई को पूरा करेंगे।
+0

'{{}} पर अनुवाद नहीं करता है? –

+0

'{{}}' HTML के रूप में बचने के बिना ** ** आपके इनपुट को प्रतिबिंबित करेगा। –

1

एक बेहतर aproach हो सकता है:

@for ($i=0; $i<=count($fans); $i++) 
    @if($fans[$i]->fbid==$i) 
    Fan Count: {{ $i}} 
    @endif 
@endfor 
6

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 
0

आप ब्लेड टेम्पलेट्स

में इस तरह यह कर सकते हैं
{{--*/ $a = 0 or whatever here /*--}} 
5

यह है कि यह कैसे मुझे

@php($a++) 

साथ है और अगर अपने लंबे कोड

@php 
    enter your codes here 
@endphp 

या आप उपयोग कर सकते

<?php a++ ?> 
+0

धन्यवाद, आप मुझे शिक्षित :) हेहेह –

0

आप के रूप में उल्लेख इस का उपयोग करना चाहिए काम करता है @ पैट्रिक रेक

<?php $a = 0; ?> 
@foreach($fans as $fan) 
     @foreach ($array as $x) 
      @if ($fan->fbid == $x) 
       <?php $a++; ?>     
      @endif 
     @endforeach 
@endforeach 

{{$a}} 

या

के रूप में Laravel 5 के लिए @Moode उस्मान ने उल्लेख किया।2 और

ऊपर
@php($a = 0) 

@foreach($fans as $fan) 
     @foreach ($array as $x) 
      @if ($fan->fbid == $x) 
       @php ($a++)     
      @endif 
     @endforeach 
@endforeach 

{{$a}} 
0
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);