我的问题
尝试创建类似的数组,以便我可以比较它们。
我正在创建文件的分发列表,添加分发列表工作正常,我列出用户姓氏,用户名和用户部门,这些都是选中和发布的,foreach用户我检索users.user_id并将其存储在分发表(在distro_lis下)就像这样。
distro_id (AI, PK) | distro_list | policy_id
---------------------------------------------
1 | 1 23 21 34 | 13
2 | 10 22 21 34 | 15
3 | 1 27 26 40 | 34
现在我正在编辑分发列表,所以对于一行,让我们说第1行,我获取distro_list并解析它以获取每个用户ID(来自distro_list)。
$ policyID在方法参数
中收到
$db = $this->dbh->prepare('SELECT distro_list FROM distro WHERE policy_id = :policy_id');
$db->bindParam(':policy_id', $policyID);
$db->execute();
$row = $db->fetch(PDO::FETCH_ASSOC);
$ids = explode(' ',$row);
foreach ($ids as $user) {
$db = $this->dbh->prepare('SELECT user_forename, user_surname, user_dept FROM users WHERE user_id = :user_id ORDER BY user_surname ASC');
$db->bindParam(':user_id', $user);
$db->execute();
$row = $db->fetch(PDO::FETCH_ASSOC);
var_dump($row);
}
var_dump($ row)返回一个数组数组(对象......不确定这里的术语),看起来像这样(print_r)。
Array
(
[user_forename] => fname1
[user_surname] => sname1
[user_dept] => dept1
)
Array
(
[user_forename] => fname2
[user_surname] => sname2
[user_dept] => dept2
)
Array
(
[user_forename] => fname3
[user_surname] => sname3
[user_dept] => dept3
)
我要比较它的数组(print_r)。
array
(
[0] => Array
(
[user_forename] => fname1
[user_surname] => sname1
[user_dept] => dept1
)
[1] => Array
(
[user_forename] => fname2
[user_surname] => sname2
[user_dept] => dept2
)
[2] => Array
(
[user_forename] => fname3
[user_surname] => sname3
[user_dept] => dept3
)
)
我理解为什么第一个数组看起来像那样,因为每次迭代后我都会看到var_dump'ing'。如何将第一个数组(数组或对象数组)放入单个数组中,以便将其与第二个数组进行比较?
答案 0 :(得分:2)
试试这个
$list_users = array()
foreach ($ids as $user) {
//...
$list_users[] = $row;
}
var_dump($list_users);