Php 从嵌套关联数组中删除使用其键的数组
我有这个阵列:Php 从嵌套关联数组中删除使用其键的数组,php,arrays,Php,Arrays,我有这个阵列: $array = array( "foo" => "bar", "barw" => "21", "bara" => "22", "barq" => "25", "multix" => array( "1" => array( "ar1" => "food", "ar2" => "dr",
$array = array(
"foo" => "bar",
"barw" => "21",
"bara" => "22",
"barq" => "25",
"multix" => array(
"1" => array(
"ar1" => "food",
"ar2" => "dr",
"ar3" => "ch",
"ar4" => "ju"
),
"2" => array(
"ar1" => "food",
"ar2" => "dr",
"ar3" => "ch",
"ar4" => "ju"
),
"893" => "bar",
"563" => "bar",
"hd8" => "bar",
"multiv" => array(
"1" => array(
"ar1" => "food",
"ar2" => "dr",
"ar3" => "ch",
"ar4" => "ju"
),
"2" => array(
"ar1" => "food",
"ar2" => "dr",
"ar3" => "ch",
"ar4" => "ju"
),
"tw" => "bar",
"qa" => "bar",
"op" => "bar"
)
)
);
我从中读到并写下如下内容:
echo '<pre>';
print_r($array);
echo '</pre>';
echo "<br/>";
echo $array['multix']['1']['ar1'].'<br/>';
echo "<br/>";
echo $array['multix']['1']['ar2'].'<br/>';
echo "<br/>";
echo $array['multix']['1']['ar3'].'<br/>';
echo "<br/>";
echo $array['multix']['1']['ar4'].'<br/>';
$array['multix']['1']['ar4'] = "lego";
echo';
打印(数组);
回声';
回声“
”;
echo$array['multix']['1']['ar1'].
;
回声“
”;
echo$array['multix']['1']['ar2'].
;
回声“
”;
echo$array['multix']['1']['ar3'].
;
回声“
”;
echo$array['multix']['1']['ar4'].
;
$array['multix']['1']['ar4']=“乐高”;
但是,我无法删除我选择的数组,如:
unset($array['multix']['multiv']['1']);
unset($array['multiv']['1']);
回声';
打印(数组);
回声';
我应该怎么做才能使用其键删除数组?您的
multiv
数组位于multix
数组中,因此您需要在multix
名称前面加上前缀
如果
multiv
被认为是索引级别上的一个数组,则您可能设置了错误的数组。您的multiv
数组位于multix
数组中,因此您需要预先设置multix
名称
如果
multiv
被认为是索引级别上的一个数组,则您可能设置了错误的数组。对此进行扩展:在['multix']['2']
结束后,您减少了['893']
上的缩进,但['multix']
的括号仍然打开。然后,在底部,关闭同一缩进级别的两组括号;第二个用于['multix']
。在['893']
之前将其中一个结束括号向上移动,你应该会很好。感谢所有人的帮助。要进一步扩展:在['multix']['2']
结束后,你减少了['893']
上的缩进,但是['multix']
的括号仍然打开。然后,在底部,关闭同一缩进级别的两组括号;第二个用于['multix']
。在['893']
之前向上移动其中一个结束括号,你应该会很好。谢谢大家的帮助。
unset($array['multix']['multiv']['1']);