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