`

PHP day5 获取系统变量,html 变量输出,遍历

 
阅读更多

1. 系统变量和原生标签

    写入.env 文件的 配置,会默认的加上前缀PHP_,并且将其转换为大写

 

2  获取系统变量 

在php中

 $this->assign('assign','assign传递的内容');
      //  dump(Env::get('status'));
      //  session('name','ssss');
      //  cookie('email','132456@gmail.com');

        return $this->fetch('index',[
            'useremail' =>  '123456@gmail.com'
        ],[
            'STATIC'=>'将页面所有STATIC替换成当前值的替换内容'
        ]);

 在html中获取

{$assign}
<p><!-- 获取系统变量 -->
    {$Think.server.HTTP_HOST}<br>
    {$Think.session.name}<br>
    {$Think.cookie.email}<br>

    <!--获取get请求的url中的值   例如http://localhost/?id=123 -->
    {$Think.get.id}<br>
    <!--获取post请求的url中的值   例如http://localhost/   psot中 id=132 -->
    {$Think.post.id}<br>
    <!--获取request(包含上述请求)中的值   例如http://localhost/?id=123 -->
    {$Think.request.id}<br>

    <!-- 获取系统中常量 -->
    <!--获取当前应用所在的目录-->
    {$Think.const.APP_PATH}<br>
    或者直接 .也可获取
    {$Think.APP_PATH}<br>

 

 3. 在html使用   原生PHP标记

    使用  <?php       /**php代码**/     ?>

 

4. tp中html 中  变量输出

   

{$email} 的md5加密为:--》  {$email|md5}<br>
    {$email} 截取前7位为:--》  {$email|substr=0,7}<br>
    {$email} 截取前7位为:--》  {$email|substr=###,0,7}<br>
    函数调用 <br>
    两种转换方式<br>
    <!-- 函数调用fun($obj1,$obj2,$obj3....)   转成  {$obj1|fun=$obj2,$obj3...}-->
    <!-- 函数调用fun($obj1,$obj2,$obj3....)   转成  {$obj1|fun=###,$obj2,$obj3...}
            使用###占位, 位置不限
        函数调用fun($obj1,$obj2,$obj3....)   转成  {$obj2|fun=$obj1,###,$obj3...}
    -->
    连续调用函数<br>
    {$email} 的md5加密并转大写为:--》  {$email|md5|strtoupper}<br>

    变量操作  运算
    <p>a+b = {$a+$b}</p>
    <p>a*b = {$a+$b}</p>

    <p>++a = {++$a}</p>
    <p>--a = {--$a}</p>    
     
     设置个默认值,若变量没被分配值,就会显示默认值
    <p>{$email|default='123654@gmail.com'}</p>

 

5. 若在html中写的代码 ,不想被被tp 解析,使用 {literal}  {/literal} 包住

例如

   {literal} 
{$email}
{/literal} 

再就会显示

{$email}

字符串,而不会被解析成  123@gmail.com

 

6.  tp 下  html模板中 的注释

     1)  {/*  这是view的注释   */}     这样的注释不会输出到html中

 

7.   模板  循环标签

 

    {$list|dump}
    <br>


一。{volist} 遍历

<?php
       $empty = "<h1>这是空的显示</h1>>"
?>
或php标签
{php}
    $empty = "<h1>这是空的显示</h1>>"
{/php}
<!-- offset 从哪开始遍历-->
<!-- length 遍历多少位-->
<!-- mod 与mod设置的值取余 -->
<!-- empty 如果list为空,就设置显示为字符串,不能包含html标签
     但可以使用 empty="$emptyvalue" 可以设置为变量来实现
-->
<!-- key当前循环的次数,默认值为 i ,从0开始 -->
{volist name='list' id='data' offset='1' length='2' mod='2' empty='空' key='i'}
        {$i} <br>
        {$mod} <br>
        {$data.name} <br>
<br>
{/volist}


二。{foreach} 遍历
<!--foreach 遍历 -->

{foreach $list as $vo}
    <p>{$key} --> {$vo.name} : {$vo.email}</p>
{/foreach}

或

<!-- 默认{$key},也可以修改,例如 key='s' -->
{foreach name="list" item="v"}
    <p>{$key} ---> {$v.name} : {$v.email}</p>
{/foreach}


三。 {for} 遍历
<!--默认是i,用 name ='index'来定义-->
<!-- step步进 -->
{for start='1' end='10' step='2'}
    <p>{$i}</p>
{/for}

 

 

 

 

分享到:
评论

相关推荐

    跟我学Java-day15-学员管理系统.pdf

    day15-学员管理系统 1.学生管理系统 1.1学生管理系统实现步骤【理解】 案例需求 针对目前我们的所学内容,完成一个综合案例:学生管理系统!该系统主要功能如下: 添加学生:通过键盘录入学生信息,添加到集合...

    linux从零基础系统编程开始视频教程.zip

    Day5 (递归遍历目录、dup2、进程) Day6 (进程、进程控制、管道) Day7 (进程间通信) Day8 (信号、信号捕捉) Day9 (守护进程、线程、线程控制、线程属性) Day10 (线程同步、信号量、条件变量)

    思库教育PHP零基础培训+进阶课程+PHP项目开发实战 21G PHP零基础学习视频教程.txt

    │ ├&lt;day5&gt; │ │ ├[思库教育]php 第14集 .数据类型转换.avi │ │ └[思库教育]php 第15集 流程控制语句.avi │ ├&lt;day6&gt; │ │ ├[思库教育]php 第16集 找出100之内的素数.avi │ │ └[思库教育]php 第17集 ...

    Java基础复习day03数组

    数组 的定义,创建,访问,长度属性,遍历,常用Arrays类 二维数组,方法递归调用经典案例 变量源码教程

    Day 16 LinkedList、Object和Set

    Day 16 1. LinkedList 1.1 LinkedList实现 1.2 LinkedList特征 1. 存储数据,非连续空间 2. 数组之间通过引用连接,方便遍历和适用 3. 遍历效率低,数据非连续空间存储,需要通过引用跳转过程来完成 4. 删除插入操作...

    传智播客扫地僧视频讲义源码

    本教程共分为5个部分,第一部分是C语言提高部分,第二部分为C++基础部分,第三部分为C++进阶部分,第四部分为C、C++及数据结构基础部分,第五部分为C_C++与设计模式基础,内容非常详细. 第一部分 C语言提高部分目录...

    IO输入输出留

    * 5遍历从数组files取出的每个对象 赋给f * 6判断f是文件 * 获得文件大小累加到len * 否则是文件夹 * 再调用自身方法 dirLength * 求文件夹大小累加到len * return len; * */ ...

    最大最小值零点问题的matlab代码-adventOfCode15:Code2015解决方案的到来

    .read()遍历文本中的每个字符(使用.read()函数获取字符串),然后根据字符递增或递减floor变量,就变得如此简单。 然后使用print(floor)函数在控制台中显示结果。 第二部分 问题的后半部分是确定哪个指令是第一个将...

    c# 加密和解密相关代码

    MD5 md5 = new MD5CryptoServiceProvider(); //创建MD5 对象 byte[] data = System.Text.Encoding.Default.GetBytes(strPwd); //将字符编码为一个字节序列 byte[] md5data = md5.ComputeHash(data); //计算data字节...

    ZendFramework中文文档

    11.1. 输出变量的值 (Dumping Variables) 12. Zend_Exception 12.1. 使用“异常” 13. Zend_Feed 13.1. 介绍 13.2. 导入Feeds 13.2.1. 定制 feeds 13.2.1.1. 导入定制的数组 13.2.1.2. 导入定制的数据源 ...

    Oracle8i_9i数据库基础

    §12.4.5 用户定义的子类型 241 §12.4.6 数据类型的转换 243 §12.5 运算符和表达式(数据定义) 243 §12.5.1 关系运算符 243 §12.5.2 一般运算符 244 §12.5.3 逻辑运算符 244 §12.6 变量赋值 245 §12.6.1 字符...

    Python操作列表

    Python Day 3 2020-4-8 Python操作列表 遍历整个列表 1.名单很长,将包含大量重复的代码。另外,每当名单的长度发生变化时,都必须修改代码。通过使用for循环,可让Python去处理这些问题。 magicians = ['alice', '...

    oracle学习文档 笔记 全面 深刻 详细 通俗易懂 doc word格式 清晰 连接字符串

     删除环境变量中的PATHT CLASSPATH中包含Oracle的值。  删除“开始”/“程序”中所有Oracle的组和图标。  删除所有与Oracle相关的目录,包括: C:\Program file\Oracle目录。 ORACLE_BASE目录。 C:\Documents ...

    怎么刷leetcode-coding-challenges:https://leetcode.com/explore/featured/car

    所以,我想到的第一个解决方案是使用HashMap来保存一个数字在数组中出现的次数,然后遍历哈希图的所有条目,我们可以轻松找到哪个数字在数组中只出现一次。 在这里,我们遵守注释 1 但违反注释 2。 遵循两个注释; ...

    达内 coreJava 习题答案

    1*5=5 2*5=10 3*5=15 4*5=20 5*5=25 1*6=6 2*6=12 3*6=18 4*6=24 5*6=30 6*6=36 1*7=7 2*7=14 3*7=21 4*7=28 5*7=35 6*7=42 7*7=49 1*8=8 2*8=16 3*8=24 4*8=32 5*8=40 6*8=48 7*8=56 8*8=64 1*9=9 2*9=18 3*9=27 4*...

Global site tag (gtag.js) - Google Analytics