PHP显示图像,如果$ value = $ string?

时间:2016-01-26 22:00:52

标签: php html image if-statement

如果有$value == $string

,我需要知道是否有一种最快捷有效的方式来显示一个或多个图像

例如:我有一个只包含3个单字符串的单元格:'r o g',如果用户放置ro它将输出<img src="red.gif"><img src="orange.gif">所以它可能是随机的如果用户插入gr,则会显示<img src="green.gif"><img src="red.gif">

现在我只能想到......

<?php $red = "<img src="red.gif">";
$orange = "<img src="orange.gif">";
if( $cell1 == $red ){ echo $red;}
if( $cell1 == $red && $orange ){ echo $orange.$red;}
etc...

这种方法可能有效,但必须提供太多可能性,我相信这样做的时间更短,效率更高,但我还没有任何想法,因为我仍在学习PHP

3 个答案:

答案 0 :(得分:2)

这种做法怎么样?

<?php

//define all your images here
$images = [
    'r' => 'red.png',
    'g' => 'green.png',
    'b' => 'blue.png',
    'y' => 'yellow.png',
    'o' => 'orange.png'
];

function output($input, $images) {
    $parts = str_split($input);
    foreach ($parts as $part) {
        if (isset($images[$part]))
            echo '<img src="' . $images[$part] . '">';
    }
}

echo "rgb: \n";
output('rgb', $images);

echo "\n\nyor: \n";
output('yor', $images);

echo "\n\nxxy: \n";
output('xxy', $images);

Output

rgb: 
<img src="red.png"><img src="green.png"><img src="blue.png">

yor: 
<img src="yellow.png"><img src="orange.png"><img src="red.png">

xxy: 
<img src="yellow.png">

答案 1 :(得分:1)

尝试这种方法:

for( $i = 0; $i <= strlen( $cell1 ); $i++ ) {
    $char = substr( $cell1, $i, 1 );
    switch ($char) {
        case "r":
            echo '<img src="red.gif">';
            break;
        case "o":
            echo '<img src="orange.gif">';
            break;
        case "g":
            echo '<img src="green.gif">';
            break;
        default:
            break;
    }
}

答案 2 :(得分:1)

以下是显示3个字符输入示例的代码。 $ string可以是发布值。

$r = '<img src="red.gif">';
$y = '<img src="yellow.gif">';
$o = '<img src="orange.gif">';
$g = '<img src="green.gif">';
$string = 'ryo';
$length = strlen($string);

for ($i=0; $i<$length; $i++) {
    echo ${''.$string[$i]};
}