我有一个数组,基于id,我必须插入到不同的表中。但问题是这个数组执行多次。假设我有这个id 1 3次,id 2 2次。总数据插入id 1 9次,id 2 4次。我错过了什么?我的代码
if (!empty($this->request->data['other_source_options'])) {
foreach ($this->request->data['other_source_options'] as $value) {
if ($value == 1) {
$this->__function_name_1(1);
}
if ($value == 2) {
$this->__function_name_2(2);
}
if ($value == 3) {
$this->__function_name_3(3);
}
if ($value == 4) {
$this->__function_name_4(4);
}
}
}
可以使用array_unique函数(参考此处)。你可以使用下面的代码:
<?php
if (!empty($this->request->data['other_source_options'])) {
$arrUnique = array_unique($this->request->data['other_source_options']);
foreach ($arrUnique as $value) {
if ($value == 1) {
$this->__function_name_1(1);
}
if ($value == 2) {
$this->__function_name_2(2);
}
if ($value == 3) {
$this->__function_name_3(3);
}
if ($value == 4) {
$this->__function_name_4(4);
}
}
}
?>