我有这个数组:
array (size=263)
0 => string 'abend' (length=5)
1 => string 'andorra' (length=7)
2 => string 'united_arab_emirates' (length=20)
3 => string 'afghanistan' (length=11)
4 => string 'antigua_and_barbuda' (length=19)
5 => string 'anguilla' (length=8)
6 => string 'albania' (length=7)
7 => string 'armenia' (length=7)
8 => string 'netherlands_antilles' (length=20)
9 => string 'angola' (length=6)
10 => string 'antarctica' (length=10)
11 => string 'american_samoa' (length=14)
12 => string 'austria' (length=7)
13 => string 'australia' (length=9)
14 => string 'aruba' (length=5)
15 => string 'azerbaijan' (length=10)
16 => string 'bosnia_and_herzegovina' (length=22)
17 => string 'barbados' (length=8)
18 => string 'bangladesh' (length=10)
19 => string 'belgium' (length=7)
20 => string 'burkina_faso' (length=12)
...
这是以后转换为下拉列表的国家/地区列表... 现在我有用户所在国家/地区,我想从列表中删除他的国家/地区 但 将它添加到开头,所以它将是第一个。
示例:
假设用户所在国家/地区为“belgium”,因此其ID为19。 所以新数组应该是:
array (size=263)
19 => string 'My country' (length=5)
0 => string 'abend' (length=5)
1 => string 'andorra' (length=7)
2 => string 'united_arab_emirates' (length=20)
3 => string 'afghanistan' (length=11)
4 => string 'antigua_and_barbuda' (length=19)
5 => string 'anguilla' (length=8)
6 => string 'albania' (length=7)
7 => string 'armenia' (length=7)
8 => string 'netherlands_antilles' (length=20)
9 => string 'angola' (length=6)
10 => string 'antarctica' (length=10)
11 => string 'american_samoa' (length=14)
12 => string 'austria' (length=7)
13 => string 'australia' (length=9)
14 => string 'aruba' (length=5)
15 => string 'azerbaijan' (length=10)
16 => string 'bosnia_and_herzegovina' (length=22)
17 => string 'barbados' (length=8)
18 => string 'bangladesh' (length=10)
20 => string 'burkina_faso' (length=12)
...
正如你所看到的那样,比利时已从阵列中删除,“我的国家”被添加到顶部。
任何想法如何实现?
答案 0 :(得分:1)
试试这个
因为你知道用户国家从初始数组中取消设置它,同时将用户所在国家保留在另一个数组中,然后你可以将它组合起来形成新数组。
$first = array(1 => brazil, 2 => china, 3 => germany);
$second = array(3 => germany);
unset($ss[3]);
$combine = $first + $second;
print_r($combine);
结果:
阵 ( [3] =>德国 [1] =>巴西 [2] =>中国 )
答案 1 :(得分:0)
为了实现这一点,你需要一个数组上的集合接口或php中的真正集合。我建议检查一下 collection classes in php - sitepoint