带有传递变量的echo线[关闭]

I'd like to echo this line of code but I always get error messages:

echo '<li class="tab"><a href="'.$setting['site_url'] . '/' . includes/profile/friends.inc.php?id=$id" data-target="'#profile_friends'">'Friends'</a></li>';

The error message I get is this:

[26-Jul-2013 23:41:44 Europe/Berlin] PHP Parse error:  syntax error, unexpected '" data-target="' (T_CONSTANT_ENCAPSED_STRING), expecting ',' or ';' in /Users/***/Documents/Arcades/Arc_development/arc_projects/***/arc_dev_website/arc_offline/templates/***/pages/profile.php on line 25

Please, any help?

Reasons:

  1. The ' . before includes/profile/… broke it.
  2. Also, "'#profile_friends'">'Friends'< has some error-producing single quotes you should drop.

Try

echo '<li class="tab"><a href="'.$setting['site_url'] . '/includes/profile/friends.inc.php?id='.$id.'" data-target="#profile_friends">Friends</a></li>';

Which I completely corrected to work as expected.

I believe you want to do this?

echo '<li class="tab"><a href="' . $setting['site_url'] . '/includes/profile/friends.inc.php?id='. $id . '" data-target="#profile_friends">\'Friends\'</a></li>';

You are concatenating the string wrongly. It should be:

echo '<li class="tab"><a href="'.$setting['site_url'] . '/includes/profile/friends.inc.php?id='.$id.'" data-target="#profile_friends">'Friends'</a></li>';

When using single quotes, variables are not expanded. With double quotes, they are. You could rewrite your code like this:

echo "<li class='tab'><a href='{$setting['site_url']}/includes/profile/friends.inc.php?id=$id' data-target='#profile_friends'>'Friends'</a></li>";

That way, it is still kind of readable HTML.

try this

echo '<li class="tab"><a href="'.$setting['site_url'] . '/includes/profile/friends.inc.php?id='.$id.'" data-target="\'#profile_friends\'">\'Friends\'</a></li>';