将此数组合并为一个

时间:2018-01-01 20:08:48

标签: php arrays

我想将数组(KAWAA)合并到$messages数组,我尝试使用$incidences[$counter]['messages']['toasty'],但它只添加了一条消息,而我希望添加每条消息。< / p>

$messages = SellerIncidence::getMessages((int)$i['id_seller_incidence']);
$test =  array_merge($messages, array('KAWAA' => "lol"));
$incidences[$counter] = array_merge($incidences[$counter], array('messages' => $messages));
$incidences[$counter]['messages']['toasty'] = 1;

1 个答案:

答案 0 :(得分:0)

因此,据我所知,您希望在邮件中添加包含密钥'KAWAA'和文本'lol'的邮件。最简单的方法是:

// Check if the key already exists to prevent overwriting another message
if (!array_key_exists('KAWAA', $messages) {
    $messages['KAWAA'] = 'lol';
}

这也适用于将字段'messages'添加到$incidences数组:

if (!array_key_exists('messages', $incidences[$counter])) {
    $incidences[$counter]['messages'] = $messages;
} else {
    $incidences[$counter]['messages'] = array_merge($messages, $incidences[$counter]['messages']);
}

如果您打算添加多条消息,则可以使用array_merge解决方案。请确保您知道,如果两个数组都具有相同的键,则提供给array_merge的后一个数组将覆盖前一个数组的值。如果从SellerIncidence::getMessages返回的消息比您添加的消息更重要,您应该翻转参数:

$test = array_merge(['KAWAA' => 'lol'], $message);