每当我运行代码时,我都会在php中执行这个简单的操作
Notice: Undefined offset: 3 in C:\xampp\htdocs\colorconverter.php on line 37
这是生成该错误的代码
function colorConverter($color)
{
preg_match_all("/(\d+\.+\d+)/", $color, $rgba);
list($rgba[0], $rgba[1], $rgba[2], $rgba[3]) = $rgba[1] ;
$rgbaValues = array("RED"=>$rgba[0], "GREEN"=>$rgba[1], "BLUE"=>$rgba[2], "ALPHA"=>$rgba[3]);
return $rgbaValues;
}
虽然它返回正确的值,但为什么它仍然显示错误
答案 0 :(得分:1)
应该是因为你没有从一开始就有4个元素的$ rgba数组。
Preg match all返回2个元素0
和1
,其中第二个(1
)是数组,我猜是$rgba[1][0]
,$rgba[1][1]
,{{1 }} 等等。您正尝试使用其子元素覆盖$rgba[1][2]
。
声明新数组并用4个空元素填充它,或者不在$rgba[1]
中应用数组元素应该有变量:
list()