在Laravel上正确使用Array和Foreach

时间:2015-06-17 09:41:00

标签: php laravel laravel-4

我不明白如何将我的PHP数组转换为Laravel,我是Laravel的新手,甚至找不到确切的格式来跟随它。我想在我的刀片文件中使用它。这是我的PHP代码。

$properties = array('office', 'retail');
foreach ($properties as $property) :
  echo $property;
endforeach;

我尽我所能但没有运气从Laravel输出正确的格式

$properties = array('office', 'retail')
@foreach ($properties as $property)
  {{ $property }}
@endforeach

感谢您的澄清。

3 个答案:

答案 0 :(得分:2)

您的代码非常完美,如果您的网页是blade,它应该有效,即您的文件名应该是somepage.blade.php

你还应该添加另一个大括号

@foreach ($properties as $property)
  {{{ $property }}}
@endforeach

更新:

您不应在PHP代码中使用{{{{{ !!!

你应该喜欢这个

<?php
$properties = array('office', 'retail')
?>
@foreach ($properties as $property)
  {{{ $property }}}
@endforeach

答案 1 :(得分:2)

尝试如下:

 <?php $properties = array('office', 'retail'); ?>
 @foreach ($properties as $property)
    {{ $property }}
 @endforeach

答案 2 :(得分:1)

首先要了解刀片控制结构的工作非常重要。 Laravel 5提供了许多用于处理刀片文件的控制结构。

回应数据

Hello, {{ $name }}.

The current UNIX timestamp is {{ time() }}.

检查存在后回显数据

有时您可能希望回显一个变量,但您不确定该变量是否已设置。基本上,你想这样做:

{{ isset($name) ? $name : 'Default' }}

但是,Blade不是编写三元语句,而是允许您使用以下方便的快捷方式:

{{ $name or 'Default' }}

使用大括号显示原始文本

如果您需要显示一个用花括号包裹的字符串,您可以通过在文本前面添加@符号来逃避Blade行为:

@{{ This will not be processed by Blade }}

如果您不希望转义数据,可以使用以下语法:

Hello, {!! $name !!}.

文档帮助

有关详情,请参阅有关Laravel Templates

的laravel文档

基础概念

所以基本上Laravel为您提供了一种非常安全的方式来显示动态数据。刀片代码由Laravel模板引擎解析,并替换为相关的PHP代码。因此,如果您将刀片代码包装在<?php ?>中,Laravel将无法解析它并将崩溃。

类比错误代码

就像你已经在<?php ?>中包装HTML代码并期望HTML引擎以某种方式呈现它。希望这将澄清您的基础刀片概念。