doujiao9574 2017-03-01 23:52
浏览 75
已采纳

从foreach循环内部调用变量以放入数组内部

What I'm trying to do is get my $streamitem_imageuploaded value so I can pass it into my $json array. Has this got anything to do with a nested loop? When I send my json data back currently, all I get is undefined variable $streamitem_imageuploaded with the below code.

if($checkphoto_id['photo_id']==0){
    $sqlhhh = "SELECT * FROM userphotos WHERE photo_name='".$checkphoto_id['photo_title']."' AND photo_ownerid='".$checkphoto_id['streamitem_creator']."' AND photo_datetime='".$checkphoto_id['streamitem_timestamp']."' ORDER BY photo_id ASC";
    $resulthhh = mysqli_query ($mysqli,$sqlhhh)or die(mysqli_error($mysqli)); 
    $photo_num=mysqli_num_rows($resulthhh);
    $images = array();
    while ($rowhhh = mysqli_fetch_assoc($resulthhh)) {
        $imageArray = array(
                            'data' => $rowhhh['photo_imagedata'],
                            'photo_streamitem_id' => $rowhhh['photo_streamitem_id'],
                            'id' => $rowhhh['photo_id']
                            );
        $images[] = $imageArray;
    }
    foreach ($images as  $image) {
        if($photo_num==1){
            $streamitem_imageuploaded='<a href="photo.php?pid='.$image['id'].'&streamitem_id='.$image['photo_streamitem_id'].'"><img class="stream_images" style="width:200px;height:200px;object-fit:cover;margin:2px;padding:2px;" src="data:image/jpeg;base64,'. base64_encode($image['data']) .'" /></a>';
        }else{
            $streamitem_imageuploaded[]='<a href="photo.php?pid='.$image['id'].'&streamitem_id='.$image['photo_streamitem_id'].'"><img class="stream_images" style="width:100px;height:100px;object-fit:cover;margin:2px;padding:2px;" src="data:image/jpeg;base64,'. base64_encode($image['data']) .'" /></a>';
        }
    }
}

Store the outputted value inside my $json array

$json = array(
    'posts' => array(),
    'count' => $rowcount,
    'commentlinktoggle' => $sendcommentlinktoggle,
    'streamitem_formholder' => $streamitem_formholder,
    'stopcommentsbutton' => $stopcommentsbutton,
    'streamitem_uploadimage_count' => $streamitem_uploadimage_count,
    'streamitem_imageuploaded' => $streamitem_imageuploaded,
);

UPDATE

Edit changed and still getting same result

if($photo_num==0){
    $streamitem_imageuploaded='';
}
if($photo_num==1){
    $streamitem_imageuploaded='<a href="photo.php?pid='.$image['id'].'&streamitem_id='.$image['photo_streamitem_id'].'"><img class="stream_images" style="width:200px;height:200px;object-fit:cover;margin:2px;padding:2px;" src="data:image/jpeg;base64,'. base64_encode($image['data']) .'" /></a>';
}
if($photo_num>1){
    $streamitem_imageuploaded[]='<a href="photo.php?pid='.$image['id'].'&streamitem_id='.$image['photo_streamitem_id'].'"><img class="stream_images" style="width:100px;height:100px;object-fit:cover;margin:2px;padding:2px;" src="data:image/jpeg;base64,'. base64_encode($image['data']) .'" /></a>';
}

This code works in a standard php page no issues. just not when trying to call the variable from inside an array.

  • 写回答

2条回答 默认 最新

  • dtewnsdf47253 2017-03-02 03:24
    关注

    All i needed to do was to add an array outside the foreach loop and then call this within my $json array

        $streamitem_imageuploaded = array();
    

    I used this when researching for my answer. Return all values stored in var outside foreach loop

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥15 关于#MATLAB#的问题,如何解决?(相关搜索:信噪比,系统容量)
  • ¥500 52810做蓝牙接受端
  • ¥15 基于PLC的三轴机械手程序
  • ¥15 多址通信方式的抗噪声性能和系统容量对比
  • ¥15 winform的chart曲线生成时有凸起
  • ¥15 msix packaging tool打包问题
  • ¥15 finalshell节点的搭建代码和那个端口代码教程
  • ¥15 Centos / PETSc / PETGEM
  • ¥15 centos7.9 IPv6端口telnet和端口监控问题
  • ¥20 完全没有学习过GAN,看了CSDN的一篇文章,里面有代码但是完全不知道如何操作