5月 7, 2020 - php开发    记一次数组的排序已关闭评论

记一次数组的排序

1:数组$a,和$b,$c如下,想要最终得到的结果是$a的键的排序按照$b的值去排$c

$a = [

            23=>'b',

            13=>'a',

            33=>'c',

 ];       

$b = [33,13,23];

$c = [

           33=>'c',

            13=>'a',

            23=>'b'

 ];   

方式1(错误):

若使用array_merge($c,$d);则数字的键则会被重新索引

使用+则保持原有的键不变

方式2:

正确的示例:

$a = [

            23=>'b',

            13=>'a',

            33=>'c',

 ];

$b = [33,13,23];

// 使用键名比较计算数组的交集

 $intersect_key = array_intersect_key(array_flip($b), $a);

// 使用后面数组的值替换第一个数组的值

 $data = array_replace($intersect_key, $a);

结果如下:

评论被关闭。