搜索IN并创建新数组

时间:2017-03-10 17:04:21

标签: php

我有一个foreach返回如下数据:

foreach($array_users as $key => $item) {
    $dwn_users = array();
$dwn_users = "USER_ID ". $item['user_id'] . " USER_ROOMS " . base64_decode($item['user_rooms']);
}

的print_r($ dwn_users);

        USER_ID 2 USER_ROOMS a:8:{i:0;s:2:"49";i:1;s:2:"60";i:2;s:2:"69";i:3;s:2:"65";i:4;s:2:"66";i:5;s:2:"59";i:6;s:2:"71";i:7;s:2:"57";}
        USER_ID 3 USER_ROOMS a:1:{i:0;s:2:"49";}
        USER_ID 4 USER_ROOMS a:4:{i:0;s:2:"49";i:1;s:2:"60";i:2;s:2:"65";i:3;s:2:"58";}

我想用USER_ID列表创建一个新数组,可以访问某个房间示例: $ room = '60';

如何在房间60中搜索IN $ dwn_users并创建新的用户ID数组? 在这种情况下,具有USER_ID 2和USER_ID 4

的数组

1 个答案:

答案 0 :(得分:0)

虽然我不认为你的foreach循环会产生你提到的输出,因为你为每一行重新定义了数组,

对于您的问题,这将生成一个数组,其中用户ID为键,用户房间为值:

$dwn_users = array();
foreach($array_users as $key => $item) {
    $userid = $item['user_id'];
    $dwn_users[$userid] = base64_decode($item['user_rooms']);
}