Não é possível que esta matriz funcione, nova em arrays

Eu quero que a matriz ($ img_array) aumente cada vez que esta seja encurralada, mas não. O comprimento da matriz é 0 quando eu ecoo ‘contagem de eco (matriz);’

function imageSize($name, $nr, $category, $myarr){ $path = 'ad_images/'.$category.'/'.$name.'.jpg'; $path_thumb = 'ad_images/'.$category.'/thumbs/'.$name.'.jpg'; list($width, $height) = getimagesize($path); list($thumb_width, $thumb_height) = getimagesize($path_thumb); //$myarr = array(); $myarr['thumb_image_' . $nr . '_width'] = $thumb_width; $myarr['thumb_image_' . $nr . '_height'] = $thumb_height; $myarr['image_' . $nr . '_width'] = $width; $myarr['image_' . $nr . '_height'] = $height; return $myarr; } if ($nr_of_pics!=0){ $image_id = end( explode( '_', $ad_id ) ); $img_array = array(); for ($i=1; $i<=$nr_of_pics; $i++) { ${'image_src' . $i} = $image_id.'_'.$i; imageSize(${'image_src' . $i}, $i, $category, $img_array); } } echo count($img_array); echo $img_array['image_3_width']; 

O que está errado?

TAMBÉM, quando eu ecoo o elemento $ img_array como você pode ver, ele não consegue encontrá-lo, diz índice indefinido … MAS, quando eu ecoo o elemento de dentro da function, ele funcionará!

Se você precisar de mais informações, avise-me e atualizarei essa Q.

obrigado

Mude esta linha

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

para

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

você está retornando uma matriz em sua function, mas não está fazendo nada com isso, então desapareceu.

imageSize retorna uma matriz, que eu acho que deveria ser a “matriz de imagens” acumulada, então configure o $img_array para o resultado da function:

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