首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >更改数组元素的位置而不影响其结构

更改数组元素的位置而不影响其结构
EN

Stack Overflow用户
提问于 2017-04-20 07:11:02
回答 2查看 33关注 0票数 0

我正在集成聊天page.Below是聊天users.However用户可以通过两种方式访问聊天页面的列表

1) http://domain/chat

一般来说,输出类似于

代码语言:javascript
复制
Array
    (
        [0] => Array
            (
                [id] => 1
                [creater_id] => 6
                [receiver_id] => 7
            )

        [1] => Array
            (
                [id] => 3
                [creater_id] => 6
                [receiver_id] => 11
            )

        [2] => Array
            (
                [id] => 4
                [creater_id] => 6
                [receiver_id] => 13
            )

    )

2) id=11在本例中,我希望输出类似于

代码语言:javascript
复制
Array
(
    [0] => Array
        (
            [id] => 3
            [creater_id] => 6
            [receiver_id] => 11
        )

    [1] => Array
        (
            [id] => 1
            [creater_id] => 6
            [receiver_id] => 7
        )

    [2] => Array
        (
            [id] => 4
            [creater_id] => 6
            [receiver_id] => 13
        )

)

如能提供任何帮助,将不胜感激:)

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2017-04-20 07:24:16

要排序的数组是$arr,所需的第一个键是$receiver_id。

代码语言:javascript
复制
uksort($arr, function($a, $b) use($receiver_id, $arr) {
    if($arr[$a]["receiver_id"] == $receiver_id) {
        return -1;
    } elseif($arr[$b]["receiver_id"] == $receiver_id) { 
        return 1;
    } else {
        return $a < $b ? -1 : 1;
    }
});
票数 1
EN

Stack Overflow用户

发布于 2017-04-20 07:29:37

最佳实践是从MYSQL中进行排序,但是您也可以尝试这样做。

代码语言:javascript
复制
$a = array(array('a' => 1, 'b' => 2), array('a' => 3, 'b' => 4), array('a' => 5, 'b' => 6), array('a' => 7, 'b' => 8)); 

$temp = array();

            foreach ($a as $key => $value)
            {
                if($value['b'] == 6)
                {
                    $temp[] = $a[$key];

                    unset($a[$key]);
                }
            }

     echo "<pre>";  
     print_r(array_merge($temp , $a)); exit;
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43512595

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档