Php 需要以指定的键值将数组添加到另一个数组中
好的,我有一个这样的数组,但不能保证总是按这个顺序排列Php 需要以指定的键值将数组添加到另一个数组中,php,arrays,multidimensional-array,Php,Arrays,Multidimensional Array,好的,我有一个这样的数组,但不能保证总是按这个顺序排列 $array = array( 'sadness' => array( 'info' => 'some info', 'info2' => 'more info', 'value' => 'value', ), 'happiness' => array( 'info' => 'some info', '
$array = array(
'sadness' => array(
'info' => 'some info',
'info2' => 'more info',
'value' => 'value',
),
'happiness' => array(
'info' => 'some info',
'info2' => 'more info',
'value' => 'the value',
),
'peace' => array(
'info' => 'some info',
'info2' => 'more info',
'value' => 'the value',
)
);
好的,我想在定义了快乐键之后加入这个数组。我不能使用“和平”键,因为它必须直接指向幸福,而随着数组的变化,幸福之后可能不会出现和平
所以在幸福之后我需要补充的是
$another_array['love'] = array(
'info' => 'some info',
'info2' => 'more info',
'value' => 'the value of love'
);
因此,在幸福之后直接输入的最终输出应该如下所示:
$array = array(
'sadness' => array(
'info' => 'some info',
'info2' => 'more info',
'value' => 'value',
),
'happiness' => array(
'info' => 'some info',
'info2' => 'more info',
'value' => 'the value',
),
'love' => array(
'info' => 'some info',
'info2' => 'more info',
'value' => 'the value of love',
),
'peace' => array(
'info' => 'some info',
'info2' => 'more info',
'value' => 'the value',
)
);
谁能帮我一下吗。使用array\u shift、array\u pop或array\u merge对我没有任何帮助,因为它们在数组的开头和结尾。我需要将它直接放在$array中的一个键位置之后
谢谢:)您正在尝试使用两个相同键的数组
'love'
。这是不可能的
编辑:
你可以做:
$new_array = array();
foreach($array as $k => $v) {
$new_array[$k] = $v;
if($k == 'happiness') {
$new_array['love'] = $another_array['love'];
}
}
在我看来,您似乎不明白PHP中所有数组都是哈希(关联数组)。所以秩序不会受到影响。如果需要特定的顺序,则需要使用排序等来定义特定的顺序或使用简单数组
$order = array ('love', 'happiness', 'pease');
使用$order数组访问$array。在$order数组中,键是1、2、3…我刚刚注意到这一点并修复了它。谢谢,但问题仍然存在。等等,你是说不能使用foreach将$Other_数组附加到$array中?我的意思是,你不能以某种方式使用key()函数和current()以及next()php函数吗?或者甚至构建一个完全不同的数组,而不是将$array设置为另一个构建的数组??你可以使用foreach等。但是你不能定义数组中条目的顺序……唯一可能的解决方案是创建一个单独的数组(就像我提到的)要定义顺序并使用order数组中的条目访问$array。。。