2012-03-21 83 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);