当一个值> 0时合并数组然后返回新数组

时间:2014-02-20 12:56:56

标签: php arrays array-filter

我正在尝试将两个数组合并为一个(PHP),除了在新数组中我只想显示来自两个数组的组合的值,其中$ b> 0

我已经使用array_filter来获取$b > 0所在的值,但现在我需要帮助将数组组合在一起并返回一个最终数组,然后我将其插入到数据库中。

例如if $a = [0] => 351 [1] => 352 [2] => 353

$b = [2] => 3 //array_filter has removed [0] => 0 [1] => 0

我希望新数组($ c)为[0] => 353,3使用以下代码:

print_r($a = $_POST['price']); 
print_r($b = array_filter($_POST['qty']));

$count = count($a);
$i = 0;

while ($i < $count)
{
    $c = $a[$i] . "," . $b[$i]; 
    $i++;
}

foreach ($_POST as $key => $value)
{
    print_r ($c);
}

但目前我的结果是:

Array //$a
(
    [0] => 351
    [1] => 352
    [2] => 353
)
Array //$b
(
    [2] => 1
)
353,1353,1353,1 //$c

1 个答案:

答案 0 :(得分:3)

你的意思是这样的吗?

$a = array(351, 352, 353);
$b = array(2 => 3);

$c = array();
foreach($b as $key => $value)
{
    $c[] = $a[$key];
    $c[] = $b[$key]; 
}

print_r($c);

这会给你:

Array ( [0] => 353 [1] => 3 ) 

如果你想让数组$ c作为逗号分隔字符串使用:

$c = implode(',', $c);

这会给你:

'353,3'