PHP for循环嵌套问题-随机破坏一切

PHP for循环嵌套问题-随机破坏一切,php,arrays,for-loop,Php,Arrays,For Loop,我找不到我的代码的问题。。。有两个for循环用于构建随机包装图像的布局(包装器div中有1到3张照片) 有时它运行得很好,但有时它会给我一个错误:将方法调用为null(比如对象数组无法访问属性) 代码如下: if (isset($get_medias)){ //new gallery structure $output_gallery_main.='<div id="g-fotografica" class="metro_gallery flip vertical lightbox">

我找不到我的代码的问题。。。有两个for循环用于构建随机包装图像的布局(包装器div中有1到3张照片)

有时它运行得很好,但有时它会给我一个错误:将方法调用为null(比如对象数组无法访问属性)

代码如下:

if (isset($get_medias)){
//new gallery structure
$output_gallery_main.='<div id="g-fotografica" class="metro_gallery flip vertical lightbox">';
$indice=0;$loop_counter=0;
for($indice;$indice<count($get_medias);$indice++){
$rand_n=rand(0,2);
    if($loop_counter==0) {
        $item_size="2x2";
    } else { $item_size="1x1"; }
    $output_gallery_main.='<div class="tile tile_'.$item_size.' '.$loop_counter.' white">';
        for($a=0;$a<=$rand_n;$a++){
        $nuovo_indice=$indice+$a;
            $m_media=$get_medias[$nuovo_indice];
                        $titolo=$m_media->get_titolo();
                        $alt=$m_media->get_alt();
                        $src=$m_media->get_src();
                        $thumb_src=$m_media->get_thumb();
                        $stato=$m_media->get_stato() == 1 ? 'visibile' : 'nascosto';
                        $ordine=$m_media->get_ordinamento_modello($modello);

                        if($stato=="visibile"){
                        //build the structure
                        $output_gallery_main.='<img src="http://'.$thumb_src.'" alt="'.$alt.'" title="'.$alt.'" data-preview="http://'.$src.'" data-caption="'.$titolo.'" />';                  
                        }

        }
    $output_gallery_main.='</div>';
    $indice=$nuovo_indice;
    $loop_counter++;
}
$output_gallery_main.='</div>';
if(isset($get_medias)){
//新画廊结构
$output_gallery_main.='';
$indice=0;$loop\u计数器=0;
对于($indice;$indicateget_alt());
$src=$m_media->get_src();
$thumb_src=$m_media->get_thumb();
$stato=$m_media->get_stato()==1?'visibile':'nascosto';
$ordine=$m_media->get_ordinamento_modello($modello);
如果($stato==“可视性”){
//构建结构
$output_gallery_main.='';
}
}
$output_gallery_main.='';
$indice=$numovo_indice;
$loop_计数器++;
}
$output_gallery_main.='';
请帮帮我…我快疯了!
另外,$get_media是从数据库中检索到的数组,我打印出了数组,它的格式总是很好。

我会尝试检查(通过var_dump或将其写入error.log)计数($get_media)”在循环定义中使用它之前,请先使用它,以防它有时不是您所期望的。您可以在循环之前添加一个条件来测试它,如果它不是一个有效的数量,则完全跳过循环。已测试。就像我从db中编写的数组总是可以的。您有任何失败的行的日志吗?没有。我知道at正好在这行$m_media=$get_medias[$nuovo_indice];但我没有调试它在哪个循环索引中失败。你认为它有帮助吗?找到它。感谢你的建议!在内部循环中,我没有检查索引是否超过数组的计数。我会尝试检查(通过var_dump或将其写入error.log)计数($get_medias)在循环定义中使用它之前,请先使用它,以防它有时不是您所期望的。您可以在循环之前添加一个条件来测试它,如果它不是一个有效的数量,则完全跳过循环。已测试。就像我从db中编写的数组总是可以的。您有任何失败的行的日志吗?没有。我知道at正好在这行$m_media=$get_medias[$numovo_indice];但我没有调试它在哪个循环索引中失败。你认为它有帮助吗?找到它。感谢你的建议!在内部循环中,我没有检查索引是否超过数组的计数。