当前位置:Gxlcms > PHP教程 > 数组排序-php用系统函数将一个数组按另一个数组的值进行排序

数组排序-php用系统函数将一个数组按另一个数组的值进行排序

时间:2021-07-01 10:21:17 帮助过:50人阅读

有如下两个数组:

  1. <code>array (size=6)
  2. 0 => string 'id' (length=2)
  3. 1 => string 'name' (length=4)
  4. 2 => string 'identityId' (length=10)
  5. 3 => string 'phone' (length=5)
  6. 4 => string 'email' (length=5)
  7. 5 => string 'schoolId' (length=8)
  8. array (size=6)
  9. 'id' => string '唯一标识' (length=12)
  10. 'identityId' => string '身份证' (length=9)
  11. 'phone' => string '手机号' (length=9)
  12. 'email' => string '邮箱' (length=6)
  13. 'name' => string '姓名' (length=6)
  14. 'schoolId' => string '学校' (length=6)</code>

如何让第二个数组按第一个数组的键值排序,即第二个数组变成id,name,identityId····
使用系统函数,谢谢诸位

回复内容:

有如下两个数组:

  1. <code>array (size=6)
  2. 0 => string 'id' (length=2)
  3. 1 => string 'name' (length=4)
  4. 2 => string 'identityId' (length=10)
  5. 3 => string 'phone' (length=5)
  6. 4 => string 'email' (length=5)
  7. 5 => string 'schoolId' (length=8)
  8. array (size=6)
  9. 'id' => string '唯一标识' (length=12)
  10. 'identityId' => string '身份证' (length=9)
  11. 'phone' => string '手机号' (length=9)
  12. 'email' => string '邮箱' (length=6)
  13. 'name' => string '姓名' (length=6)
  14. 'schoolId' => string '学校' (length=6)</code>

如何让第二个数组按第一个数组的键值排序,即第二个数组变成id,name,identityId····
使用系统函数,谢谢诸位

  1. <code><!--?php
  2. $a = [
  3. 'id',
  4. 'name',
  5. 'identityId',
  6. 'phone',
  7. 'email',
  8. 'schoolId'
  9. ];
  10. $b = [
  11. 'id' =--> '唯一标识',
  12. 'identityId' => '身份证',
  13. 'phone' => '手机号',
  14. 'email' => '邮箱',
  15. 'name' => '姓名',
  16. 'schoolId' => '学校'
  17. ];
  18. var_dump(array_merge(array_flip($a), $b));</code>

使用系统函数 array_muiltsort

  1. <code class="php">$arr1 = array(
  2. 'id',
  3. 'name',
  4. 'identityId',
  5. 'phone',
  6. 'email',
  7. 'schoolId'
  8. );
  9. $arr2 = array(
  10. 'id' => '唯一标识',
  11. 'identityId' => '身份证',
  12. 'phone' => '手机号',
  13. 'email' => '邮箱',
  14. 'name' => '姓名',
  15. 'schoolId' => '学校',
  16. );
  17. array_multisort($arr1,SORT_DESC,$arr2);
  18. print_r($arr2);
  19. // </code>
结果为: Array ( [schoolId] => 学校 [email] => 邮箱 [identityId] => 身份证 [phone] => 手机号 [id] => 唯一标识 [name] => 姓名 )

$a = ['id','name','identityId','phone','email','schoolid'];
$b = ......;
foreach($a as $v){

  1. <code>$c[$v] = $b[$v];</code>

}
$c即为你想要的数组;

  1. <code>$c = array();
  2. foreach ($a as $value) $c[$value] = $b[$value];
  3. print_r($c);</code>

人气教程排行