简体   繁体   中英

How to echo an echo in php?

I have some basic PHP code:

$raceramps56["short"] = "My Test Product";

$leftMenu = 

'<div class="leftMenuProductButton"><?PHP echo $raceramps56["short"] ?></div>';

Won't echo the PHP code, only the element. I've tried things like

<div class="leftMenuProductButton">' . <?PHP echo $raceramps56["short"] ?>. '</div>';

Which just returns Parse error: parse error, unexpected '<'

So my question is, how do I either get this to work, or take another approach?

尝试这个

$raceramps56["short"] = "My Test Product";

$leftMenu ='<div class="leftMenuProductButton">'.$raceramps56["short"].'</div>';

You can run php in a '. You can only echo it like this if you know what I mean.

$leftMenu ='<div class="leftMenuProductButton">.$raceramps56["short"].</div>';
echo $leftMenu;

Use this:

$leftMenu ='<div class="leftMenuProductButton">'.$raceramps56["short"].'</div>';

I thought I'd provide some extra information just so you understand.

In your code:

$raceramps56["short"] = "My Test Product";

$leftMenu = 

'<div class="leftMenuProductButton"><?PHP echo $raceramps56["short"] ?></div>';

You are including literally.

Take a read of this. http://php.net/manual/en/language.types.string.php

When I was first learning, I did not understand the different between literal ' and double quotes and it especially caused problems when I was trying to echo things.

Take a look at this:

<?php
echo 'this is a simple string';

echo 'You can also have embedded newlines in 
strings this way as it is
okay to do';

// Outputs: Arnold once said: "I'll be back"
echo 'Arnold once said: "I\'ll be back"';

// Outputs: You deleted C:\*.*?
echo 'You deleted C:\\*.*?';

// Outputs: You deleted C:\*.*?
echo 'You deleted C:\*.*?';

// Outputs: This will not expand: \n a newline
echo 'This will not expand: \n a newline';

// Outputs: Variables do not $expand $either
echo 'Variables do not $expand $either';
?>

If you were to use " " instead of ' you would not get the same output because " will interpret everything rather then take it literally.

I hope this has been of additional help, even though you have had your question answered already.

或无需转义双引号:

$leftMenu = '<div class="leftMenuProductButton">' . $raceramps56["short"] . '</div>';
$raceramps56["short"] = "My Test Product";

$leftMenu = '<div class="leftMenuProductButton">' . $raceramps56["short"] . '</div>';
echo $leftMenu;

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM