2016-06-10 58 views
0

值是這樣的:插入在笨一次多維值

<?php 
$imp_name_contact = Array 
(
    [0] => p1 
    [1] => +91786555 
) 
Array 
(
    [0] => p3 
    [1] => +9123457788 
) 
Array 
(
    [0] => p2 
    [1] => +91454543 
); 

for ($i=0; $i < count($imp_name_contact) ; $i++) { 
    if(empty($imp_name_contact['0'])) { 
     $imp_name_contact['0'] = '##'; 
    } 
    $data = array('name' => $imp_name_contact['0'], 'contact' => $imp_name_contact['1'], 'added_date_time' => $currentDateTime, 'user_id' => $user_id); 
    $query = $this->db->insert("tbl_name", $data); 
    $this->db->insert_id(); 
} 
?> 

但問題是它的兩倍插入相同的值。什麼是錯的? 是否可以使用insert_batch?

回答

2

你應該準備一個陣列,例如,在這樣的方式

$string = 'aabc-+9123457788,fsfs-989776655'; 
$imp_name_contact = explode(',', $string); 
foreach($imp_name_contact as &$i) 
    $i = explode('-', $i); 

$data = []; 
foreach($imp_name_contact as $i) { 
    if(empty($i['0'])) { 
     $i['0'] = '##'; 
    } 
    $data[] = array('name' => $i['0'], 
       'contact' => $i['1'], 
       'added_date_time' => $currentDateTime, 
       'user_id' => $user_id); 
} 

,現在你可以使用insert_batch

demo

+0

OK讓我試試這一個 –

+0

它的分貝會喜歡這個: p 1 + 9 etc ... –

+0

該怎麼做?因爲該陣列是動態創建的 –