2012-04-03 2 views
0

Я получаю массив, используя функцию preg_match_all. Код, как это:Ввод того же ключа ко всему элементу массива

$str = $dataGroups['groups']; 
preg_match_all('/[0-9]/', $str, $matches); 

Она возвращает ассоциативный массив из типа:

array(5) { [0]=> string(1) "1" [1]=> string(1) "2" [2]=> string(1) "3" [3]=> string(1) "4" [4]=> string(1) "5" } 

Где значения фактически идентификаторов для таблицы Link, где у меня есть два внешних ключи, значение из одного FK являются значениями массива выше, мне нужно назначить ключи с другим значением, которое должно быть одинаковым для всех элементов, потому что I \ m будет использовать его для нескольких вставок в таблице. Поэтому, чтобы сделать это ясно Если я хочу вставить все значения, которые имеют id 67, мне кажется, что мне нужна что-то вроде этой формы, моя активная запись в кодеригене:

массив (5) {[67] => строка (1) "1" [67] => строка (1) "2" [67] => строка (1) "3" [67] => строка (1) "4" [67] => строка (1) "5"}

и использовать команду AR:

$ this-> db-> вставка ('туЬаЫе' , $ matches [0]);

Я собираюсь попробовать его в первый раз, поэтому любой совет будет оценен, но самое главное - изменить значение ключей с тем же номером, и, возможно, если бы вы могли сказать, правильно ли это, для выполнения множественной вставки с использованием CodeIgniter AR. Благодаря

Leron

ответ

3

Вы не можете иметь дубликаты ключей в массиве, они должны быть уникальными, поскольку они там ссылки!

Однако то, что вы могли бы сделать это иметь ассоциативный массив как так:

$array = array(
    1 => array(
     'id' => 67 
    ), 
    2 => array(
     'id' => 67 
    ) 
); 
0

да, как это будет работать? вы не можете иметь несколько одинаковых ключей массива; что вы можете сделать, это иметь массив, сохраняющий все строки под одним и тем же ключом, например.

array(
    "67" => array(
     "string 1", 
     "string 2", 
     ... 
     "string 5" 
    ) 
); 

, и я не уверен, как это будет работать для вашей базы данных ... вся эта вещь пахнет, как дизайн бедных базы данных/таблиц - то есть вы явно не может использовать «67» в качестве первичного ключа, и так потом вам не следует добавлять строки на основе их значения, а использовать уникальный ключ (например, автоинкрементный столбец)