php 3个输入框 第一个输入内容 第二个框输入第一个框里面要变颜色的值,第三个输入颜色值对应第二个框

2025-02-28 14:20:36
推荐回答(2个)
回答1:

//正确如下


输入内容

输入要对应变色的内容字

对应要变的色





$a=$_POST['arrayName'];//获取内容: 比如 输入
$b=$_POST['arrayfg'];//获取输入要变色的内容,这个框输入 输入 的|变|内
$c=$_POST['color']; // 输入 #ba0000|#000|#ffff00 其他字颜色统一 的|变|内 颜色分别是 红 黑 蓝
$array=explode("|",$a);//分隔符把多个内容分开
$Name=explode("|",$b);//变色分隔符隔开
$color=explode("|",$c);
$i=0;
foreach($array as $key){ //循环
//$i++;
//$i不应放在此处,因为数组$array 要比数组 $color大。应把$i要在if里,如下
?>




//你写在容易出错,而且HTML和PHP混合着,实在难看,推荐用下面的写法


输入内容

输入要对应变色的内容字

对应要变的色





//要加上这一句,不然一进入此网页就会报错!,要注意
if(isset($_POST['arrayName']) && isset($_POST['arrayfg']) && isset($_POST['color'])){
$a=$_POST['arrayName'];//获取内容: 比如 输入
$b=$_POST['arrayfg'];//获取输入要变色的内容,这个框输入 输入 的|变|内
$c=$_POST['color']; // 输入 #ba0000|#000|#ffff00 其他字颜色统一 的|变|内 颜色分别是 红 黑 蓝
$array=explode("|",$a);//分隔符把多个内容分开
$Name=explode("|",$b);//变色分隔符隔开
$color=explode("|",$c);

$i=0;
foreach($array as $val){ //循环

if(in_array($val,$Name)){
echo "

".$val."

";
$i++;//$i必需放在这个地方,因为$color数组比$array数组小
}else{
echo "

".$val."

";
}

}
}
?>

回答2:

你没有处理好颜色那里
颜色数组的键,是0,1,2……
但你是按照循环次数来取值的,所以有误
我直接在你程序上改了,你试下吧


输入内容

输入要对应变色的内容字

对应要变的色





$a=$_POST['arrayName'];//获取内容: 比如 输入

$b=$_POST['arrayfg'];//获取输入要变色的内容,这个框输入 输入 的|变|内
$c=$_POST['color']; // 输入 #ba0000|#000|#ffff00 其他字颜色统一 的|变|内 颜色分别是 红 黑 蓝
$array=explode("|",$a);//分隔符把多个内容分开
$Name=explode("|",$b);//变色分隔符隔开
$color=explode("|",$c);
$i=0;
$color_i=0;//注意,这里新增一个计数
foreach($array as $key){ //循环
$i++;
?>