我无法理解如何做到这一点。 我有一个名为'公司'的mysql表。它有一个名为' language'的列。此语言列包含国家/地区缩写(en,de,es ...)。
然后我在media / images / flags(en.png,de.png,es.png ......)中保存了标记。
我不想在db中保存标志但我想更改db-country缩写。进入代码内的标志。下面,我将db中的国家/地区缩写存储在缩写中。并尝试以某种方式将它们与数组键匹配。
模型(platform_model):
public function get_country(){
$query = $this->db->query("SELECT language FROM companies");
return $query;
}
控制器:
public function set_flag(){
$this->load->model('platform_model');
$abbrevs = $this->platform_model->get_country();
$flags = array(
'de' => base_url('media/images/flags/de.png'),
'en' => base_url('media/images/flags/en.png'),
'it' => base_url('media/images/flags/it.png'),
'fr' => base_url('media/images/flags/fr.png'),
'es' => base_url('media/images/flags/fr.png'),
'pt' => base_url('media/images/flags/pt.png'),
'ru' => base_url('media/images/flags/ru.png'),
'ch' => base_url('media/images/flags/ch.png'),
'ja' => base_url('media/images/flags/ja.png')
);
//how can I compare/replace them from here?
感谢您的帮助。
答案 0 :(得分:1)
使用str_replace
,获取作为国家/地区代码(键)的搜索元素以及作为标志(值)的替换值
$replace = array_values($flags);
$search = array_keys($flags);
$string = str_replace($search, $replace, $string)
答案 1 :(得分:1)
而不是数组,你可以做类似的事情。
<img src="media/images/flags/<? echo $county; ?>.png" />
答案 2 :(得分:1)
$arr = func_get_args();
$num = func_num_args();
$keys = array();
$i = 0;
for($i=0;$i<$num;++$i){
$keys = array_merge($keys, array_keys($arr[$i]));
}
$keys = array_unique($keys);
$merged = array();
foreach($keys as $key){
$merged[$key] = array();
for($i=0;$i<$num;++$i){
$merged[$key][] = isset($arr[$i][$key])?$arr[$i][$key]:null;
}
}