php – 将多维数组转换为单个数组
发布时间:2020-12-13 15:58:32 所属栏目:PHP教程 来源:网络整理
导读:我正在使用yii2 php框架,我有这个查询访问db中的所有用户: $allUsersQuery = new Query;$allUsersQuery-select(['_id'])-from('user')-where([ 'parent' = new MongoId($session['company_owner']) ]);$allUsers = $allUsersQuery-all(); 当我var_dump $al
我正在使用yii2 php框架,我有这个查询访问db中的所有用户:
$allUsersQuery = new Query; $allUsersQuery->select(['_id'])->from('user')->where([ 'parent' => new MongoId($session['company_owner']) ]); $allUsers = $allUsersQuery->all(); 当我var_dump $allUsers数组时,它给了我这个输出: array (size=5) 0 => array (size=1) '_id' => object(MongoId)[147] public '$id' => string '55d5a227650fc90c35000044' (length=24) 1 => array (size=1) '_id' => object(MongoId)[148] public '$id' => string '55d5a22a650fc90c35000047' (length=24) 2 => array (size=1) '_id' => object(MongoId)[149] public '$id' => string '55d5a22a650fc90c3500004a' (length=24) 3 => array (size=1) '_id' => object(MongoId)[150] public '$id' => string '55d5a22b650fc90c3500004d' (length=24) 4 => array (size=1) '_id' => object(MongoId)[151] public '$id' => string '55d5a22b650fc90c35000050' (length=24) 这是多维数组.我搜索并尝试了几种解决方案,但他们只给我这个结果: array (size=1) '_id' => object(MongoId)[147] public '$id' => string '55d5a227650fc90c35000044' (length=24) 以下是我尝试但未能解决的几个解决方案: function array_flatten($allUsers) { if (!is_array($allUsers)) { return FALSE; } $allUsersResult = array(); foreach ($allUsers as $key => $value) { if (is_array($value)) { $allUsersResult = array_merge($allUsersResult,array_flatten($value)); } else { $allUsersResult[$key] = $value; } } return $allUsersResult; } 2. array_reduce($allUsers,'array_merge',array()); 3. $allUsers = $allUsers[0]; 我的预期输出是: Array('value1','value2','value3'); 我该如何工作? 解决方法
您可以简单地遍历数组并收集此数据.
我刚编辑了你的功能: function array_flatten($allUsers) { if (!is_array($allUsers)) { return FALSE; } $allUsersResult = array(); foreach ($allUsers as $key => $value) { if (!is_array($value)) { return FALSE; } $allUsersResult[] = $value["_id"]->{'$id'}; } return $allUsersResult; } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |