Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/242.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 连接for循环内的值以在循环外使用_Php - Fatal编程技术网

Php 连接for循环内的值以在循环外使用

Php 连接for循环内的值以在循环外使用,php,Php,我正在建立一个网站,其中有产品的细节和图像存储在两个不同的表。我不想加入表,所以我有两个查询来获取详细信息 我所做的是传递产品id以获取所有图像。问题是,我想将所有图像URL存储在$img_block中,以便显示产品详细信息和所有图像,第一个产品除外。所有其他产品都包含以前的产品图像 product 1 : image p1-1 and image p1-2 product 2 : image p1-1 image p1-2 image p2-1 product 3 : image p1-1 i

我正在建立一个网站,其中有产品的细节和图像存储在两个不同的表。我不想加入表,所以我有两个查询来获取详细信息

我所做的是传递
产品id
以获取所有图像。问题是,我想将所有图像URL存储在
$img_block
中,以便显示产品详细信息和所有图像,第一个产品除外。所有其他产品都包含以前的产品图像

product 1 : image p1-1 and image p1-2
product 2 : image p1-1 image p1-2 image p2-1
product 3 : image p1-1 image p1-2 image p2-1 image 3-1
我的代码:

foreach ($products as $key=>$product):

$images = $this->control_model->product_images($product['pid']);

            foreach ($images as $image):

            $img_block .='<img src="'.$image['url'].'" height="75px" width="75px">' ;

            endforeach;

$msg .= '<div class="one_half_full">
            <div class="listbox">
            <div class="list_text">

            <h4 style="font-weight:bold"><a href="#">'.$product['title'].'</a></h4>
            <p>
              <div class="clearfix" id="images"> 
               '.$img_block.'
              </div>';

endforeach;
foreach($products as$key=>$product):
$images=$this->control_model->product_images($product['pid']);
foreach($images作为$image):
$img_块='';
endforeach;
$msg.='

“.$img_块。”
';
endforeach;

有人能告诉我如何连接正确的图像URL吗?

只需初始化
$img_块
如下:(我添加了最后的引号…)

foreach($products as$key=>$product):
$images=$this->control_model->product_images($product['pid']);
$img_block='';
foreach($images作为$image):
$img_块='';
endforeach;
$msg.='

“.$img_块。”
';
endforeach;

您缺少
在最后一个
div之后
在最后一个
endforeach之前
糟糕的编码风格:foreach(…):endforeach@邪恶护林员谢谢你发现它,伙计。不知道我怎么会错过它。@vladkras学习php:)还有其他好方法吗?foreach($foo=>$bar的数组){//doStuff}愚蠢的错误。。。谢谢你的帮助,伙计。。。
foreach ($products as $key=>$product):

$images = $this->control_model->product_images($product['pid']);
$img_block = '';
            foreach ($images as $image):

            $img_block .='<img src="'.$image['url'].'" height="75px" width="75px">' ;

            endforeach;

$msg .= '<div class="one_half_full">
            <div class="listbox">
            <div class="list_text">

            <h4 style="font-weight:bold"><a href="#">'.$product['title'].'</a></h4>
            <p>
              <div class="clearfix" id="images"> 
               '.$img_block.'
              </div>';

endforeach;