You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Laravel中如何在HTML元素属性输出PHP变量?报错求助

解决Blade模板中隐藏输入框变量渲染的语法错误问题

嘿,我来帮你快速搞定这个语法错误!你遇到的问题主要是字符串拼接和变量嵌入的写法错误,而且其实在Laravel的Blade模板里,完全不用这么麻烦地写原生PHP代码,下面给你几种正确的实现方式:

最推荐:使用Blade原生语法(简洁又安全)

Blade模板专门提供了变量输出的语法,直接用{{ }}包裹变量就行,自动帮你处理转义,代码超级清爽:

<input type="hidden" class="id" name="id" value="{{ $id }}">

根本不需要写@php块,Blade会自动解析$id变量并输出到value属性里。

如果一定要用原生PHP块(修正语法错误)

要是你因为某些原因必须用@php块,那得把字符串拼接和变量嵌入的写法改对:

写法1:单引号字符串拼接

@php
$id = 123; // 记得给变量赋值加分号!
echo '<input type="hidden" class="id" name="id" value="' . $id . '">';
@endphp

这里要注意:单引号里的变量不会被解析,所以得把$id放在单引号外面,用.连接字符串片段。

写法2:双引号字符串嵌入变量

双引号包裹的字符串会自动解析变量,写法更简洁:

@php
$id = 123;
echo "<input type='hidden' class='id' name='id' value='$id'>";
@endphp

错误原因复盘

你原来的代码有几个问题:

  1. 变量赋值后没加分号:$id = some integer后面缺少分号,PHP会报错
  2. 字符串拼接语法错误:直接把$id塞在单引号字符串里,PHP无法解析,而且HTML标签的写法也混乱(比如&lt;'.input type="hidden"这里的拼接完全错误)
  3. 没必要用原生PHP:Blade的语法就是为了让模板更简洁,尽量避免写原生PHP块哦

内容的提问来源于stack exchange,提问作者Hidayat ullah

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.25 02:29:38