Php 意外的T_常量\u用引号括起来的\u字符串

Php 意外的T_常量\u用引号括起来的\u字符串,php,php-parse-error,Php,Php Parse Error,有人能帮我找出$secret行中的错误吗 $secret应给出: {"name":"JustAname","extra":"1","password":"ASD123","report":"http:\/\/website.com\/dev\/gamereport\/0001.php"} 以下是PHP代码: <?php date_default_timezone_set('America/Montreal'); $name = 'JustAname'; $extra =

有人能帮我找出
$secret
行中的错误吗

$secret
应给出:

{"name":"JustAname","extra":"1","password":"ASD123","report":"http:\/\/website.com\/dev\/gamereport\/0001.php"}
以下是PHP代码:

<?php
date_default_timezone_set('America/Montreal');
    $name = 'JustAname';
    $extra = '1';
    $password = 'ASD123';
    $reception = 'http:\/\/website.com\/dev\/gamereport.php';
    // Code de génération de la base64
    $secret = '{"name":"'.$name'","extra":"'.$extra'","password":"'.$password'","report":"'.$reception'"}';
    $encodedSecret = base64_encode($secret);


    $tournementLink = 'pvpnet://lol/customgame/joinorcreate/map1/pick6/team5/specALL/'.$encodedSecret;

    echo $tournementLink;
?>


我得到:Parse error:syntax error,意外的T_CONSTANT_ENCAPSED_STRING in[…]在第20行

您错误地连接了字符串,正如@hobbs建议的那样。您还使用了未定义的变量
$Tournament
,我认为应该是
$name
。试试这个:

$secret = '{"name":"' . $name . '","extra":"' . $extra . '","password":"' . $password . '","report":"' . $reception . '"}';
另一方面,在PHP中创建JSON的更好方法是使用数组和
JSON\u encode()


出于某种原因,在构建
$secret
字符串时,您在所有变量之前加了点,但在之后不加点。
$secret='{“name”:“.$Tournament.”,“extra”:“.$extra.”“…
在所有变量和单引号字符串之间加了点…这种情况下,构建数组数据结构时使用
json_encode()
这将非常有用。根据可见的代码,可能是这样,但这不是导致此错误的原因。啊..错过了明显的!@RickyNotaro Garcia请参阅我的更新+1以获取json/数组建议。这一点也不好…好得多!@RickyNotaro Garcia确实-
json_encode()
为您处理所有的转义。
$secret = json_encode(array(
        'name' => $name,
        'extra' => $extra,
        'password' => $password,
        'report' => $reception));