另有行情内的行情内行情

时间:2018-03-02 08:23:27

标签: php html

<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"]"'

2 个答案:

答案 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"] . '"'; ?> >