如何提供一个变量来放入PHP中的另一个变量?

时间:2010-03-17 16:12:15

标签: php variables

我不确定我是否正确地提出了这个问题。

我有一些我想要嵌入的代码。例如:

$menuPopup ='<IMG SRC="' . $someVariable . '">';

稍后,我有一些产品变量:

$someProduct1 ='image1.jpg';
$someProduct2 ='image2.jpg';

稍后,想要使用$ someProduct1或$ someProduct2中的src显示$ menuPopup。

//Pseudo Code

$menuPopup ( $someProduct1);

无论如何要做到这一点?

6 个答案:

答案 0 :(得分:4)

另一个不错的选择是使用sprintf()

$template = '<img src="%s"/>';

echo sprintf($template, $someProduct1);  // => <img src="image1.jpg"/>
echo sprintf($template, $someProduct2);  // => <img src="image2.jpg"/>

答案 1 :(得分:3)

创建一个接受一个参数并返回

的函数
function gen( $arg ) {
    return '<img src="' . $arg . '">';
}

答案 2 :(得分:3)

看起来你应该做一个功能。像这样:

function menuPopup($image) {
    return '<img src="'.$image.'">';
}

稍后再打电话:

menuPopup($someProduct1);

答案 3 :(得分:0)

如果您不需要函数,可以创建一个可以根据需要将自身转换为字符串的虚拟类:

class ImgTag {
    public $src;
    public __toString() {
        return '<img src="' . $this->src . '"/>';
    }
}

$img = new ImgTag();
$img->src = 'happy.gif';
# __toString() will be called whenever a string would be expected instead of
# this object. All of the below work:
echo $img;
echo implode(' ', array($mg, $img));
strpos($img, 'img');

答案 4 :(得分:0)

*** PHP ***

function imageTpl( $src='' ){
    return (!empty($src)) ? sprintf('<img src="%s" />', $src) : '';
}

$product1_thumb = imageTpl( 'images/product1_thumb.jpg' );

*** HTML ***

<?=$product1_thumb?>

答案 5 :(得分:0)

function return_image_sourse( $src ) 
{
    return '<img src="' . $src . '">';
}
///////////
$new_src = "something";
return_image_sourse( $new_src ) ;