懂PHP的进来看看

php中文网
发布: 2016-06-23 14:21:05
原创
1395人浏览过

if($downhits==2)
{
echo '


  
        {loop $downfile $r}
            
  • {$r}


  •         {/loop}
            {loop $downfiles $r}
                
  • {$r}


  •         {/loop}
      
    ';
    }
    else
    {
    echo '

      
    {loop $downfile $r}
                
  • {$r}


  •         {/loop}
            {loop $downfiles $r}
                
  • {$r}


  •         {/loop}
      
    ';}
    ?>

    以上代码我在echo中输出   可是 这个$r和$downfiles 这个 貌似都没有反应 所以想问下在echo中怎么输出$r和$downfiles  也就在怎么调用或者说是语法吧

    回复讨论(解决方案)

    首先   PHP中单引号内的变量无法被解析为变量值

    所以你把你echo 'xxxxxxxxxxxx'换成 echo "xxxxxxxxxxx"即可(同时把内部的双引号换成单引号)

    其次... 不理解你这样的语句是在什么环境下使用能否正常循环... 上面的办法只针对你问的两个变量无法解析的问题.

    我不懂php,但我知道变量在单引号中不会取值,只把变量名作为字符串

    loop循环标签是PHPcms自定义的模板循环标签吧,这里的echo是将字符串输出到模板,和模板对应的控制器文件会分配$downfiles 这个变量,loop循环再将这个变量循环输出,$downfiles 是数组$r是里面的值。

    if($downhits==2)
    {
    echo '

    ';
      
            {loop $downfile $r}
                
  • {$r}


  •         {/loop}
            {loop $downfiles $r}
                
  • {$r}


  •         {/loop}
      echo '
    ';
    }
    else
    {
    echo '
    ';
      
    {loop $downfile $r}
                
  • {$r}


  •         {/loop}
            {loop $downfiles $r}
                
  • {$r}


  •         {/loop}
      echo '
    ';}
    ?>

    你再看看模板的用法。

    你这段是写在什么位置的。是写在action里还是写在模板里的。

    楼主是不是没闹明白程序和模板是要分开来搞的呀?

    你在程序里写html模板,然后把模板的参数带进去。这下倒好,你的html是显示了,但是,显示完是你的原始模板,都已经发送到客户端了,难不成你还想让客户段来解释你的{loop}{/loop}这样的代码?你又不是在写js.

    模板是有特定的模板函数来处理他的,最终他会在服务器端会被解释成php代码来执行。所以,你不要在程序里写模板代码。

    建议你这样。你把$downhits这个值传给模板。
    然后在模板中写:

    {if $downhits==2}<div class="downfile" style=" display:none;">	{loop $downfile $r}	    <li><h3 class="button white">{$r}</h3></li>	{/loop}	{loop $downfiles $r}	    <li><h3 class="button white">{$r}</h3></li>	{/loop}	  </div>{else}<div class="downfile" >	{loop $downfile $r}            <li><h3 class="button white">{$r}</h3></li>        {/loop}        {loop $downfiles $r}            <li><h3 class="button white">{$r}</h3></li>        {/loop}	  </div>{/if}
    登录后复制


    或者是你直接在php程序里这样写:
    if($downhits==2){	$html='<div class="downfile" style=" display:none;">';	foreach($downfile as $r){		$html.='<li><h3 class="button white">'.$r.'</h3></li>';	}	foreach($downfiles as $r){		$html.='<li><h3 class="button white">'.$r.'</h3></li>';	}	$html.='</div>';}else{	$html='<div class="downfile">';	foreach($downfile as $r){		$html.='<li><h3 class="button white">'.$r.'</h3></li>';	}	foreach($downfiles as $r){		$html.='<li><h3 class="button white">'.$r.'</h3></li>';	}	$html.='</div>';}
    登录后复制

    另外,div标签下面直接包含li标签,好像不合符html的写法吧。。。

    PHP速学教程(入门到精通)
    PHP速学教程(入门到精通)

    PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

    下载
    来源:php中文网
    本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
    最新问题
    开源免费商场系统广告
    热门教程
    更多>
    最新下载
    更多>
    网站特效
    网站源码
    网站素材
    前端模板
    关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
    php中文网:公益在线php培训,帮助PHP学习者快速成长!
    关注服务号 技术交流群
    PHP中文网订阅号
    每天精选资源文章推送
    PHP中文网APP
    随时随地碎片化学习

    Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号