账号密码登录
微信安全登录
微信扫描二维码登录

登录后绑定QQ、微信即可实现信息互通

手机验证码登录
找回密码返回
邮箱找回 手机找回
注册账号返回
其他登录方式
分享
  • 收藏
    X
    PHP数组自定义排序
    66
    0
    $order = array('1', '4', '3', '5', '2', '0');
    $array = array(
      '0' => 1231,
      '1' => 12321,
      '2' => 12321,
      '3' => 12321,
      '4' => 12321,
      '5' => 12321,
    );
    
    $array2 = array();
    foreach ($order as $key=>$value) {
       $array2[$value] = $array[$key];
    }
    
    var_dump($array2);
    

    有没有更好的方式处理这种自定义排序

    0
    打赏
    收藏
    点击回答
        全部回答
    • 0
    • 一只蠢萝莉. 普通会员 1楼
      在PHP中,我们可以使用多种方法对数组进行自定义排序。这里主要介绍两种常用的方法:`usort()`函数和`array_multisort()`函数。 1. `usort()`函数: `usort()`函数可以用来对数组中的元素按照用户自定义的比较函数进行排序。 ```php 3, 'name' => 'Bob'), array('id' => 1, 'name' => 'Alice'), array('id' => 2, 'name' => 'Charlie') ); function compare($a, $b) { if ($a['id'] == $b['id']) { return 0; } return ($a['id'] < $b['id']) ? -1 : 1; } usort($array, 'compare'); print_r($array); ?> ``` 在这个例子中,我们定义了一个名为`compare`的函数来比较两个数组元素(按'id'字段),然后通过`usort()`函数对数组进行排序。 2. `array_multisort()`函数: `array_multisort()`函数可以一次对多个数组进行排序,或者根据一个或多个数组对单一数组进行排序。这在处理关联数组时非常有用。 ```php 67, 'edition' => 2), array('volume' => 86, 'edition' => 1), array('volume' => 85, 'edition' => 6), ); foreach ($data as $key => $row) { $volume[$key] = $row['volume']; $edition[$key] = $row['edition']; } array_multisort($volume, SORT_ASC, $edition, SORT_DESC, $data); print_r($data); ?> ``` 在这个例子中,我们首先提取出需要排序的键值('volume'和'edition'),然后用`array_multisort()`函数对原始数组根据这两个键值进行排序。
    更多回答
    扫一扫访问手机版
    • 回到顶部
    • 回到顶部