基本上我的问题是我无法对另一个数组内的数组进行洗牌。更具体地说,我想对作为“Variante de raspuns:”值的数组进行洗牌:
$intrebari=array(
array('Enunt:'=>'2+2=','Variante de raspuns:'=>array(2,5,6,4),'Raspuns corect:'=>4,'Punctaj obtinut:'=>'25p'),
array('Enunt:'=>'2*2=','Variante de raspuns:'=>array(3,4,8,1),'Raspuns corect:'=>4,'Punctaj obtinut:'=>'25p'),
array('Enunt:'=>'2/2=','Variante de raspuns:'=>array(1,3,4,8),'Raspuns corect:'=>1,'Punctaj obtinut:'=>'25p'),
array('Enunt:'=>'2-2=','Variante de raspuns:'=>array(2,3,0,4),'Raspuns corect:'=>0,'Punctaj obtinut:'=>'25p')
);
我想到的功能是:
function amestecVariante(&$array){
foreach($array as $intrebare){
foreach($intrebare as $k=>$v)
if($k=='Variante de raspuns:')
shuffle($v);}
}
现在我只想显示带有洗牌的'Variante de raspuns:'的数组。我有另一个功能来显示它,所以它最终会变成这样:
amestecVariante($intrebari);
afisare($intrebari);
问题是 'Variante de raspuns' 数组没有被打乱,而是按照最初的样子显示。此外,我真的很想了解为什么我的功能不起作用,除非我的功能一点也不好,否则我不会寻找另一种解决方案。先感谢您。