我有一个关联数组
[name]->user1,
[class_code]->bsc,
[name]->user2,
[class_code]->msc,
[name]->user1,
[class_code]->mca
现在,我希望结果为
[name]->user1,
[class_code]->bsc,
mca
[name]->user2,
[class_code]->msc
表示如果名称相同,则将class_code附加到第一个。我该怎么办? 我的数组是
[1] =stdClass Object
([class_code] =Maths
[userid] =365
[avatar] =default.jpg
[username] =user2
)
[2] =stdClass Object
(
[class_code] =Maths
[userid] = 364
[avatar] =default.jpg
[username] =user1
)
[3] =stdClass Object
(
[class_code] =MCA
[userid] =364
[avatar] =default.jpg
[username] =user1
)
[4] =stdClass Object
(
[class_code] =MCA
[userid] =365
[avatar] =default.jpg
[username] =user2
)
现在,在显示结果时我想显示ex的记录。 user2 as
username:user2
avatar
classcode :MCA,Maths
而不是
username:user2
avatar
classcode :MCA
username:user2
avatar
classcode :Maths
我该怎么做?
答案 0 :(得分:2)
您不能使用相同的键具有两个值。否则如果你要求$ myarray ['name'],php就不知道该给你什么。
您可以使用嵌套数组。
例如
[0]->
[name]->user1,
[class_code]->bsc,mca,
[1]->
[name]->user2,
[class_code]->msc
或者你可以做这样的事情
[user1]->bsc, mca
[user2]->msc
答案 1 :(得分:0)
如果你想在那里同时拥有两个值,你应该考虑在那里使用一个数组
array(
"name"=>"user1,
"class_code"=>"array('mca','bsc'),
"name"=>"user2,
"class_code"=>"msc"
);
答案 2 :(得分:0)
如果[class_code]
必须包含字符串,您可以尝试
$array[$key] .= $value;
答案 3 :(得分:0)
您可以使整个数组成为多维的:
$users = array(
0 = array(
"name"=>"user1",
"class_code"=>"bsc"
),
1 = array(
"name"=>"user2",
"class_code"=>"msc"
)
);
检索值:
$users[1][name] // Returns 'user2'
$users[0][class_code] // Returns 'bsc'
循环使用值:
foreach($users as $user => $attributes) {
echo "$user: $attributes[name] ($attributes[class_code])<br />";
}
/*
Prints:
0: user1 (bsc)
1: user2 (msc)
*/