Php 内爆一个阵列,然后移动到下一个阵列

Php 内爆一个阵列,然后移动到下一个阵列,php,foreach,implode,Php,Foreach,Implode,在foreach循环中内爆多个数组有点问题 目前的阵列是这样的 Array ( [0] => Array ( [img] => /Content/ProductImages/big/9414339613250.jpg [prodtitle] => Heineken Lager 330ml Btls [unit] => 12pk [price] => [wasprice] => 26.99 [specprice] => ) [1] =>

在foreach循环中内爆多个数组有点问题

目前的阵列是这样的

Array (
[0] => Array ( [img] => /Content/ProductImages/big/9414339613250.jpg [prodtitle] => Heineken Lager 330ml Btls [unit] => 12pk [price] => [wasprice] => 26.99 [specprice] =>      ) 
[1] => Array ( [img] => /Content/ProductImages/big/7501064191367.jpg [prodtitle] => Corona Extra Beer 355ml Bottles [unit] => 12pk [price] => [wasprice] => 26.99 [specprice] => 22.99 )     
[2] => Array ( [img] => /Content/ProductImages/big/9414774095307.jpg [prodtitle] => Steinlager Lager 330ml Btls [unit] => 12pk [price] => [wasprice] => 23.99 [specprice] => 21.99 )
但是,在foreach循环中,它仅内爆第一个数组,即循环必须进行的次数:

/Content/ProductImages/big/9414339613250.jpg','Heineken Lager 330ml Btls ','12pk ','','26.99','20.99
/Content/ProductImages/big/9414339613250.jpg','Heineken Lager 330ml Btls ','12pk ','','26.99','20.99
/Content/ProductImages/big/9414339613250.jpg','Heineken Lager 330ml Btls ','12pk ','','26.99','20.99
我想让它穿过每个阵列。数字或数组不是特定的,因为项目可能会增加或减少

/Content/ProductImages/big/9414339613250.jpg','Heineken Lager 330ml Btls ','12pk','','26.99','20.99
/Content/ProductImages/big/7501064191367.jpg','Corona Extra Beer 355ml Bottles ','12pk ','','26.99','22.99
整个代码如下所示:

$html = file_get_html($url);

foreach($html->find('div.product-details-contents') as $content) {
    $detail['img'] = $content->find('img.product-details-image',0)->src;
    $detail['prodtitle'] = $content->find('span.title', 0)->plaintext;
    $detail['unit'] = $content->find('span.unit-size', 0)->plaintext;
    $detail['price'] = filter_var($content->find('span.price', 0)->plaintext, FILTER_SANITIZE_NUMBER_FLOAT, FILTER_FLAG_ALLOW_FRACTION | FILTER_FLAG_ALLOW_THOUSAND);
    $detail['wasprice'] = filter_var($content->find('span.was-price', 0)->plaintext, FILTER_SANITIZE_NUMBER_FLOAT, FILTER_FLAG_ALLOW_FRACTION | FILTER_FLAG_ALLOW_THOUSAND);
    $detail['specprice'] = filter_var($content->find('span.special-price', 0)->plaintext, FILTER_SANITIZE_NUMBER_FLOAT, FILTER_FLAG_ALLOW_FRACTION | FILTER_FLAG_ALLOW_THOUSAND);

    $product[] = $detail;

    $sqlstring = implode("','", $product[0]);
    echo $sqlstring;
}
print_r($product);
同样,当
$sqlstring=intlode(“,”,$product[0])时
$product[0]
的数量增加,它会出现以下错误:

警告:内爆()[函数.内爆]:传递的参数无效


你说只有第一个数组被内爆。看来:

$sqlstring = implode("','", $product[0]);
这种代码的平静总是使乘积数组的第一个元素内爆。为什么? 不做smth,比如:

$sqlstring = implode("','", $detail);

你说只有第一个数组被内爆。看来:

$sqlstring = implode("','", $product[0]);
这种代码的平静总是使乘积数组的第一个元素内爆。为什么? 不做smth,比如:

$sqlstring = implode("','", $detail);

我不太理解你的问题。你需要内爆你拥有的子阵列吗?如果是的话,我想你可以看看数组映射函数。是的,很抱歉,是的,我想一个接一个地内爆我的子数组。我不太理解你的问题。你需要内爆你拥有的子阵列吗?如果是的话,我想你可以看看数组映射函数。是的,很抱歉,是的,我想一个接一个地内爆我的子数组。