<input <?php echo $credit['credit_1']=='0'?'placeholder="Credit 1"':'value="$credit['credit_1']"';?> >
我的问题是,哪一个是正确的,为什么?
1. 'value="$credit_exm['credit_1']"'
2. 'value="$credit_exm["credit_1"]"'
答案 0 :(得分:1)
答案:两者都没有。
来自manual:
注意:与双引号和heredoc语法,变量和。不同 特殊字符的转义序列不会被扩展 以单引号字符串出现。
以下是获得相同输出的不同方法:
<?php
$my['planet'] = 'Earth!';
$strings = [];
array_push(
$strings,
'Hello "' . $my['planet'] . '"',
"Hello \"${my['planet']}\"",
"Hello \"{$my['planet']}\"",
"Hello \"$my[planet]\"",
sprintf('Hello "%s"', $my['planet'])
);
var_export($strings);
输出:
array (
0 => 'Hello "Earth!"',
1 => 'Hello "Earth!"',
2 => 'Hello "Earth!"',
3 => 'Hello "Earth!"',
4 => 'Hello "Earth!"',
)
就个人而言,我发现在这样做时我很容易陷入混乱,所以经常选择sprintf方法。
答案 1 :(得分:0)
语法错误。
必须:
<input <?php echo $credit['credit_1'] == '0' ? 'placeholder="Credit 1"' : 'value="' . $credit["credit_1"] . '"'; ?> >