2012-03-21 76 views
0

我试图通过foreach将值添加到数组,但它只返回单词“数组”而不是实际的字符串。通过foreach向数组添加值

$msg = array(); 
foreach ($results as $result) { 

    $inventory = $result->qoh; 
    $inventoryOrder = $result->qo; 
    $product = $result->item; 
    $totalinv = $inventory+$inventoryOrder; 
    if ($inventory <= $threshold) { 
     $message = "Inventory for $product has fallen beneath threshold. $inventory remaining.\n"; 
     $msg[] = array($message); 

    } 
} 
print (array_values($msg)); 

我已经尝试了几种不同的方式,每次它返回

+2

使用的print_r打印阵列...打印将永远只能打印“数组” – hackartist 2012-03-21 18:48:55

回答

5

你应该使用print_r,不print单词“阵列”。 print仅适用于蜇伤。试试这个:

echo '<pre>'; print_r(array_values($msg)); echo '</pre>'; 
+0

这让数组打印但它也在此添加 阵列 ( [0] =>阵列 ( [0] => Inventory for Batteries - AA已降至阈值以下,剩下0个。 ) – Joe 2012-03-22 01:03:01

2

使用var_dump来查看值。

var_dump (array_values($msg)); 

var_dump会一直向您显示结果的类型。在调试中帮助很多。 (看看你的代码,我假设你正在做同样的事情)。

0

我想你需要更改下面的代码:

$msg[] = array($message); 

array_push($msg, $message);