Php 如果键相同,如何在数组中追加值
我有一个关联数组Php 如果键相同,如何在数组中追加值,php,mysql,joomla,Php,Mysql,Joomla,我有一个关联数组 [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 表示如果名称相同,则将类_代码附加到第一个。我该怎么做?
[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
表示如果名称相同,则将类_代码附加到第一个。我该怎么做?
我的数组是
[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
)
现在,在显示结果时,我想将for ex.user2的记录显示为
username:user2
avatar
classcode :MCA,Maths
而不是
username:user2
avatar
classcode :MCA
username:user2
avatar
classcode :Maths
我该怎么做呢?同一个键不能有两个值。否则,如果您请求$myarray['name'],php将不知道该给您什么 您可以改为使用嵌套数组 乙二醇 或者你可以这样做
[user1]->bsc, mca
[user2]->msc
如果您想在其中同时拥有两个值,则应该考虑在其中使用一个数组
array(
"name"=>"user1,
"class_code"=>"array('mca','bsc'),
"name"=>"user2,
"class_code"=>"msc"
);
如果
[class\u code]
必须包含字符串,则可以尝试
$array[$key] .= $value;
您可以使整个阵列多维化:
$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)
*/
foreach($user作为$user=>$attributes的用户){
echo“$user:$attributes[name]($attributes[class_code])
”;
}
/*
印刷品:
0:user1(bsc)
1:用户2(理学硕士)
*/
不同条目具有相同键的关联数组怎么可能存在?请发布阵列的var\u导出
。
foreach($users as $user => $attributes) {
echo "$user: $attributes[name] ($attributes[class_code])<br />";
}
/*
Prints:
0: user1 (bsc)
1: user2 (msc)
*/