Php 添加到多维数组
这是我的密码:Php 添加到多维数组,php,arrays,wordpress,multidimensional-array,foreach,Php,Arrays,Wordpress,Multidimensional Array,Foreach,这是我的密码: $get_access_keys_from_wp = get_user_meta( $user_id, '_tdv_volunteer_positions' ); $new_access_keys = array(); if ( $get_access_keys_from_wp ) { echo "This user is signed up for other positions."; $current_access_
$get_access_keys_from_wp = get_user_meta( $user_id, '_tdv_volunteer_positions' );
$new_access_keys = array();
if ( $get_access_keys_from_wp ) {
echo "This user is signed up for other positions.";
$current_access_keys = $get_access_keys_from_wp;
foreach($current_access_keys as $key => $value) {
$new_access_keys[] = $value;
}
//$new_access_keys[] = $position_post_id;
$new_access_keys[] = array('position_id' => $position_post_id, 'volunteer_first_name' => $first_name, 'volunteer_last_name' => $last_name);
} else {
echo "This user is not signed up for any positions.";
//$new_access_keys[] = $position_post_id;
$new_access_keys[] = array('position_id' => $position_post_id, 'volunteer_first_name' => $first_name, 'volunteer_last_name' => $last_name);
}
最初,我得到以下信息:
Array
(
[0] => Array
(
[0] => Array
(
[position_id] => 67
[volunteer_first_name] => Mike
[volunteer_last_name] => Jackson
)
)
)
Array
(
[0] => Array
(
[0] => Array
(
[position_id] => 67
[volunteer_first_name] => Mike
[volunteer_last_name] => Jackson
)
[1] => Array
(
[position_id] => 68
[volunteer_first_name] => Mike
[volunteer_last_name] => Jackson
)
)
)
那太好了。。。我想要这样的。但是,正如上面的逻辑所示,如果阵列已经存在,我需要能够在阵列上循环,并添加到阵列中,使其看起来如下所示:
Array
(
[0] => Array
(
[0] => Array
(
[position_id] => 67
[volunteer_first_name] => Mike
[volunteer_last_name] => Jackson
)
)
)
Array
(
[0] => Array
(
[0] => Array
(
[position_id] => 67
[volunteer_first_name] => Mike
[volunteer_last_name] => Jackson
)
[1] => Array
(
[position_id] => 68
[volunteer_first_name] => Mike
[volunteer_last_name] => Jackson
)
)
)
但是,我得到的结果是:
Array
(
[0] => Array
(
[0] => Array
(
[0] => Array
(
[position_id] => 67
[volunteer_first_name] => Mike
[volunteer_last_name] => Jackson
)
)
[1] => Array
(
[position_id] => 68
[volunteer_first_name] => Mike
[volunteer_last_name] => Jackson
)
)
)
添加现有值时,似乎需要更深一层。试着替换
foreach($current_access_keys as $key => $value) {
$new_access_keys[] = $value;
}
与
或者如果现有数组包含多个元素
foreach($current_access_keys as $key => $value) {
$new_access_keys = array_merge($new_access_keys,$value);
}
我不认为有必要在
$current\u access\u keys
中从\u wp复制$get\u access\u keys\u,因为之后您似乎都不会修改。