当前位置: 首页 > 编程笔记 >

Laravel 控制结构

孔寒
2023-03-14
本文向大家介绍Laravel 控制结构,包括了Laravel 控制结构的使用技巧和注意事项,需要的朋友参考一下

示例

Blade为常见的PHP控制结构提供了方便的语法。

每个控制结构@[structure]均以开头和结尾@[endstructure]。注意,在标记中,我们只是键入普通的HTML,并使用Blade语法包括变量。

有条件的

'如果'陈述

@if ($i > 10)
    <p>{{ $i }} is large.</p>
@elseif ($i == 10)
    <p>{{ $i }} is ten.</p>
@else
    <p>{{ $i }} is small.</p>
@endif

除非声明

(“如果不是”的简短语法。)

@unless ($user->hasName())
    <p>A user has no name.</p>
@endunless

循环

“当”循环

@while (true)
    <p>I'm looping forever.</p>
@endwhile

“ Foreach”循环

@foreach ($users as $id => $name)
    <p>User {{ $name }} has ID {{ $id }}.</p>
@endforeach

“ Forelse”循环

(与'foreach'循环相同,但添加了一个特殊@empty指令,该指令在迭代的数组表达式为空时执行,以显示默认内容。)

@forelse($posts as $post)
    <p>{{ $post }} is the post content.</p>
@empty
    <p>There are no posts.</p>
@endforelse

在循环内,$loop将提供一个特殊变量,其中包含有关循环状态的信息:

属性 描述
$loop->index 当前循环迭代的索引(从0开始)。
$loop->iteration 当前循环迭代(从1开始)。
$loop->remaining 其余的循环迭代。
$loop->count 数组中要迭代的项目总数。
$loop->first 这是否是循环的第一次迭代。
$loop->last 这是否是循环中的最后一次迭代。
$loop->depth 当前循环的嵌套级别。
$loop->parent 在嵌套循环中,父级的循环变量。

例:

@foreach ($users as $user)
  @foreach ($user->posts as $post)
        @if ($loop->parent->first)
            This is first iteration of the parent loop.
        @endif
    @endforeach
@endforeach

从Laravel 5.2.22开始,我们还可以使用指令@continue和@break

属性 描述
@continue 停止当前迭代并开始下一个迭代。
@break 停止当前循环。

范例:

@foreach ($users as $user)
    @continue ($user->id == 2)
        <p>{{ $user->id }} {{ $user->name }}</p>
    @break ($user->id == 4)
@endforeach

然后(假设5个以上的用户按ID排序并且没有ID缺失),页面将呈现

1 Dave
3 John
4 William
           

 类似资料:
  • 流程控制语句对于程序设计来说特别重要,它可以用于设定程序的逻辑结构。一般需要与条件判断语句结合使用。Lua 语言提供的控制结构有 if,while,repeat,for,并提供 break 关键字来满足更丰富的需求。本章主要介绍 Lua 语言的控制结构的使用。

  • Control structures 控制结构 The control structures of Go are related to those of C but differ in important ways. There is no do or while loop, only a slightly generalized for; switch is more flexible; if

  • 控制结构 If If是分支 (branch) 的一种特殊形式,也可以使用else和else if。 与C语言不同的是,逻辑条件不需要用小括号括起来,但是条件后面必须跟一个代码块。 Rust中的if是一个表达式 (expression),可以赋给一个变量: let x = 5; let y = if x == 5 { 10 } else { 15 }; Rust是基于表达式的编程语言,有且仅有两种语

  • 控制结构 函数式风格的程序倾向于需要更少的传统的控制结构,并且使用声明式风格写的程序读起来更好。这通常意味着打破你的逻辑,拆分到若干个小的方法或函数,用匹配表达式(match expression)把他们粘在一起。函数式程序也倾向于更多面向表达式(expression-oriented):条件分支是同一类型的值计算,for(..) yield 表达式,以及递归都是司空见惯的。 递归 用递归术语来表

  • 条件分支 if if 修饰句 unless unless 修饰句 case 循环 while while 修饰句 until until修饰句 for break next redo retry 异常处理 raise begin rescue修饰句 其他 return BEGIN END (与C等语言不同的是)Ruby的控制结构是表达式,其中的一部分还会返回值(也有不返回值的,若把这些不返回值的表

  • 不支持switch和goto,支持if,else,while,do,for,break,continue,return,?:。 条件判断中的括号不可省略,但在单行语句中的大括号可以省略。 需要注意的是,这里没有像C语言,和javascript里的非Boolean类型的自动转换,比如if(1){...}在Solidity中是无效的。