为什么新的 key-value 对在通过 foreach 循环解析数组后没有添加到现有数组中?
Why the new key-value pair is not getting added to the existing array after parsing the array through foreach loop?
我关注标题为 $aFriends
的数组,如下所示:
实际数组非常大,但为了参考,我在这里只打印了前两个元素。
Array
(
[0] => Array
(
[dob_setting] => 4
[user_id] => 1
[profile_page_id] => 0
[user_server_id] => 0
[user_name] => admin
[full_name] => admin
[gender] => 1
[user_image] => 2015/03/96cc42b833bc0d34b521818272c05011%s.jpg
[is_invisible] => 0
[user_group_id] => 1
[language_id] =>
)
[1] => Array
(
[dob_setting] => 0
[user_id] => 30
[profile_page_id] => 0
[user_server_id] => 0
[user_name] => profile-30
[full_name] =>
[gender] => 0
[user_image] =>
[is_invisible] => 0
[user_group_id] => 7
[language_id] =>
)
)
我想为上述数组的每个元素添加一个键,如下所示:
$aFriends[0]['profile_image'] = image_creator($aFriends[$key][$value]['user_image']);
$aFriends[1]['profile_image'] = image_creator($aFriends[$key][$value]['user_image']);
.
.
.
.
.
为此,我尝试了以下代码:
foreach($aFriends as $key => $value) {
$aFriends[$key][$value]['profile_image'] = image_creator($aFriends[$key][$value]['user_image']);
}
得到与输出相同的数组。不向每个元素添加新键 ['profile_image']
。请帮助我获得所需的数组。
谢谢。
这应该有效:
foreach($aFriends as $friend => $values) {
$aFriends[$friend]['profile_image'] = '';
}
foreach($aFriends as $key => $value) {
$aFriends[$key][$value]['profile_image'] = image_creator($aFriends[$key][$value]['user_image']);
}
$value是一个数组,为什么放在那里?
foreach($aFriends as $key => $value) {
$aFriends[$key]['profile_image'] = image_creator($aFriends[$key]['user_image']);
}
你不需要在循环体内写[$value]
你的 foreach
循环应该是这样的
foreach($aFriends as $key => $value) {
$aFriends[$key]['profile_image'] = image_creator($aFriends[$key]['user_image']);
}
我关注标题为 $aFriends
的数组,如下所示:
实际数组非常大,但为了参考,我在这里只打印了前两个元素。
Array
(
[0] => Array
(
[dob_setting] => 4
[user_id] => 1
[profile_page_id] => 0
[user_server_id] => 0
[user_name] => admin
[full_name] => admin
[gender] => 1
[user_image] => 2015/03/96cc42b833bc0d34b521818272c05011%s.jpg
[is_invisible] => 0
[user_group_id] => 1
[language_id] =>
)
[1] => Array
(
[dob_setting] => 0
[user_id] => 30
[profile_page_id] => 0
[user_server_id] => 0
[user_name] => profile-30
[full_name] =>
[gender] => 0
[user_image] =>
[is_invisible] => 0
[user_group_id] => 7
[language_id] =>
)
)
我想为上述数组的每个元素添加一个键,如下所示:
$aFriends[0]['profile_image'] = image_creator($aFriends[$key][$value]['user_image']);
$aFriends[1]['profile_image'] = image_creator($aFriends[$key][$value]['user_image']);
.
.
.
.
.
为此,我尝试了以下代码:
foreach($aFriends as $key => $value) {
$aFriends[$key][$value]['profile_image'] = image_creator($aFriends[$key][$value]['user_image']);
}
得到与输出相同的数组。不向每个元素添加新键 ['profile_image']
。请帮助我获得所需的数组。
谢谢。
这应该有效:
foreach($aFriends as $friend => $values) {
$aFriends[$friend]['profile_image'] = '';
}
foreach($aFriends as $key => $value) {
$aFriends[$key][$value]['profile_image'] = image_creator($aFriends[$key][$value]['user_image']);
}
$value是一个数组,为什么放在那里?
foreach($aFriends as $key => $value) {
$aFriends[$key]['profile_image'] = image_creator($aFriends[$key]['user_image']);
}
你不需要在循环体内写[$value]
你的 foreach
循环应该是这样的
foreach($aFriends as $key => $value) {
$aFriends[$key]['profile_image'] = image_creator($aFriends[$key]['user_image']);
}