Я долгое время читал здесь и никогда не писал, но мне было интересно, может ли кто-нибудь помочь мне с проблемой, с которой я столкнулся ...
У меня есть 2 массива, которые печатаются так:
$fields = Array
(
[0] => Array
(
[field] => NewField
[label] => New Field
[required] => 1
)
[1] => Array
(
[field] => _Field2
[label] => Field 2
[required] => 0
)
)
$fields_data = Array
(
[0] => Array
(
[field_id] => 1
[field_name] => New Field
[db_name] => NewField
[field_type] => text
)
[1] => Array
(
[field_id] => 6
[field_name] => Field 2
[db_name] => _Field2
[field_type] => text
)
)
И мне нужно создать массив, который выглядит следующим образом:
$new_arr = Array
(
[NewField] => Array
(
[field_id] => 1
[field_name] => New Field
[field_type] => text
[label] => New Field
[required] => 1
)
[_Field2] => Array
(
[field_id] => 6
[field_name] => Field 2
[field_type] => text
[label] => Field 2
[required] => 0
)
)
Итак, db_name становится ключами массива, а затем массив 2, где поле совпадает с db_name, объединяется в один массив.
Вот код, с которым я пытался работать, но, очевидно, по какой-то причине он не работает (PHP не моя сильная сторона):
foreach($fields as $field){
$new_arr[$field['field']] = array();
foreach($fields_data as $tkey => $tval) {
if($fields_data[$tkey]['db_name'] = $fields['field']) {
$new_arr[$field['field']]['field_id'] = $fields_data[$tkey]['field_id'];
}
}
}
Очевидно, что приведенный выше код будет создавать только элемент field_id в массиве, однако он не работает. Я думаю, что наличие 2 циклов перезаписывает значение field_id каждый раз. Но, как я сказал, php не является моей сильной стороной, поэтому любая помощь по этому вопросу будет высоко оценена.
Спасибо