Php Can';无法使此阵列正常工作,这是阵列的新特性

Php Can';无法使此阵列正常工作,这是阵列的新特性,php,Php,我希望数组($img_数组)在每次循环时都增加,但它不会。 当我回显“回显计数(数组);”时,数组的长度为0 函数图像大小($name,$nr,$category,$myarr){ $path='ad_images/'.$category./'.$name..jpg'; $path_thumb='ad_images/'.$category./thumbs/'.$name..jpg'; 列表($width,$height)=getimagesize($path); 列表($thumb\u widt

我希望数组($img_数组)在每次循环时都增加,但它不会。 当我回显“回显计数(数组);”时,数组的长度为0

函数图像大小($name,$nr,$category,$myarr){
$path='ad_images/'.$category./'.$name..jpg';
$path_thumb='ad_images/'.$category./thumbs/'.$name..jpg';
列表($width,$height)=getimagesize($path);
列表($thumb\u width,$thumb\u height)=getimagesize($path\u thumb);
//$myarr=array();
$myarr['thumb\u image.'$nr.\u width']=$thumb\u width;
$myarr['thumb\u image.'$nr.\u height']=$thumb\u height;
$myarr['image.'$nr.'u width']=$width;
$myarr['image.'$nr.'u height']=$height;
返回$myarr;
}
如果($n张图片!=0){
$image_id=end(分解('_',$ad_id));
$img_array=array();
对于($i=1;$i更改此行

imageSize(${'image_src' . $i}, $i, $category, $img_array);


您正在函数中返回一个数组,但没有对它执行任何操作,因此它就消失了。

imageSize
返回一个数组,我猜它应该是累积的“图像数组”,因此将
$img\u数组设置为函数的结果:

$img_array = imageSize(${'image_src' . $i}, $i, $category, $img_array);

另一个选项是通过引用传递数组(这将更快,并且需要更少的内存);
$img_array = imageSize(${'image_src' . $i}, $i, $category, $img_array);
$img_array = imageSize(${'image_src' . $i}, $i, $category, $img_array);