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


PHP display images if $value = $string?

>我需要知道是否有一种最快有效的方法来显示一个或多个图像,如果$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

这种方法怎么样?

<?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);

输出:

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">

试试这种方法:

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;
    }
}

下面是显示 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]};
}