Удалить дублированный языковой массив

#php #duplicates

#php #дубликаты

Вопрос:

У меня глупый вопрос. У меня есть 2 массива :

 $lang = array
(

'reglinkname_default'   => 'Register',//'注册',
'yes'           => 'Yes',//'是',
'no'            => 'No',//'否',
'index'         => 'Site Home',//'站点首页',
'setindex'      => 'Home',//'首页',
'submit'        => 'Submit',//'提交',
'submit_tips'       => 'Press Enter to submit your changes at any time',//'按 Enter 键可随时提交您的修改',
'reset'         => 'Reset',//'重置',
'ok'            => 'OK',//'确定',
'cancel'        => 'Cancel',//'取消',
'modify'        => 'Modify',//'修改',
'start'         => 'Start',//'开始',
'tips'          => 'Tips',//'技巧提示',
'tips_all'      => 'All tips',//'显示全部提示',

);

$lang2 = array
(

'subscribe_comsenz_email' => '填写您的邮件地址,订阅 Discuz! 官方产品动态、安全提醒、官方新闻',
'reglinkname_default' => '注册',
'yes' => '是',
'no' => '否',
'index' => '站点首页',
'setindex' => '首页',
'allthread' => '全部版块和群组',
'submit' => '提交',
'submit_tips' => '按 Enter 键可随时提交你的修改',
'reset' => '重置',
'ok' => '确定',
'cancel' => '取消',
'modify' => '修改',
'start' => '开始',
'tips' => '技巧提示',
'setseotips' => 'SEO优化设置提示',
'tips_all' => '显示全部提示',
'tips_textarea' => '双击输入框可扩大/缩小',
'name' => '名称',
'none' => '无',
'default' => '默认',
'use_default' => '- 使用默认 -',
'unknown' => '未知',
'unlimited' => '无限制',
'config' => '设置',
'admin' => '管理',
'add' => '添加',
);
  

Я хочу написать функцию для удаления дублированного значения и вывода нового значения. Я пытался использовать array_unique() , но безуспешно, и я хочу напечатать значение с помощью » . Может быть, вы сможете мне помочь, большое спасибо.

Комментарии:

1. Можете ли вы включить код, в котором вы пробовали array_unique ?

Ответ №1:

Вы можете использовать array_diff_assoc() (http://ca.php.net/manual/en/function .array-diff-assoc.php ) чтобы найти различия, затем array_subtract, чтобы удалить их.

В качестве альтернативы, если ваша цель — просто получить массив с элементами из lang1, если они существуют, и из lang2, если они не используются array_merge() . Порядок имеет значение, поэтому вы хотели бы array_merge($lang2, $lang1); , чтобы lang1 имел приоритет.

Комментарии:

1. Что ж, к счастью, я пытаюсь и у меня это получается. Большое вам спасибо $lang3 = array_merge($lang, $lang2); $result = array_diff($lang3, $lang2); echo «<pre>»; print_r($result);