' (T_CONSTANT_ENCAPSED_STRI-6ren">
gpt4 book ai didi

laravel - Blade 语法错误,字符串变量为空

转载 作者:行者123 更新时间:2023-12-02 16:04:50 25 4
gpt4 key购买 nike

我有这个输入:

<input class="form-control" type="text" id="nameEng" name="nameEng" value="{{$tagTrans['en']}}" />

如果变量为空,我会收到以下消息:

Parse error: syntax error, unexpected ''); ?>">' (T_CONSTANT_ENCAPSED_STRING), expecting ',' or ')'

如果它不为空,一切都是完美的。

问题是什么?

编辑:我的Controller@Action是:

public function newTag($id = 0){

$tag = array();
$tagTrans = array();

if ($id > 0){
$tag = Tags::where(['id' => $id])
-> first()
-> toArray();

$tagTransRaw = TagTrans::where(
['tag_id' => $id ])
->get()
->toArray();

foreach ($tagTransRaw as $key => $tagTransFE) {
$tagTrans[$tagTransFE['lang']] = $tagTransFE['text'];
}
}

$data = array(
'id' => $id,
'tag' => $tag,
'tagTrans' => $tagTrans,
);

return view('back/news/newTag', $data);
}

编辑2:尝试过其他方法:

 - value="{{$tagTrans['en'] or ''}}"
- value="{{
!empty($tagTrans['en'])? $tagTrans['en'] : '' }}"

他们没有工作。

编辑3:我删除了表单中的 value="..."-s 以显示 var_dump($data),@Mr. Pyramid 询问,现在它在文件末尾显示相同的错误(当它渲染 Blade 模板时)。

我现在认为这是我几个小时前运行的一个 composer update 错误。我在 git 中检查了更新的软件包是这些:

package name
version from
version to

"name": "laravel/framework",
"version": "v5.5.19",
"version": "v5.5.20",

"name": "nikic/php-parser",
"version": "v3.1.1",
"version": "v3.1.2",

"name": "psy/psysh",
"version": "v0.8.13",
"version": "v0.8.14",

"name": "doctrine/instantiator",
"version": "1.0.5",
"version": "1.1.0",

"name": "phpunit/php-code-coverage",
"version": "5.2.2",
"version": "5.2.3",

"name": "phpunit/phpunit",
"version": "6.4.3",
"version": "6.4.4",

"name": "sebastian/comparator",
"version": "2.0.2",
"version": "2.1.0",

编辑4:

我修改了我的代码,但问题是一样的。var_dump($data):

$data = array(
"id" => 0
"tag" => []
"tagTrans" => []
);

现在的输入是这样的:

<input class="form-control" type="text" id="nameEng" name="nameEng" value="{{ array_key_exists('en', $tagTrans) ? $tagTrans['en'] : '' }}" />

最佳答案

您可以使用 array_key_exists 检查该键是否存在于数组中

<input class="form-control" type="text" id="nameEng" name="nameEng" 
value="{{ array_key_exists('en', $tagTrans) ? $tagTrans['en'] : '' }}" />

关于laravel - Blade 语法错误,字符串变量为空,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47197267/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com