如何删除数组内的嵌套数组
Posted
技术标签:
【中文标题】如何删除数组内的嵌套数组【英文标题】:How to delete a nested array inside of an array 【发布时间】:2019-10-09 23:13:53 【问题描述】:我有一个由表单数据组成的多维数组,看起来像这个例子:
array [
"absender" => "Maxim Ivan",
"email" => "maximivan@example.com",
"telefon" => "1234567890",
"fax" => null,
"grund" => "Gehaltserhöhung",
"termin" => [
0 => [
"person" => "Some Name",
"meeting" => "10.05"
],
1 => [
"person" => "Another Name",
"meeting" => "18.05"
],
2 => [
"person" => "Again another name",
"meeting" => null,
"next-possible-meeting" => "1"
],
3 => [
"person" => "And again",
"meeting" => null,
"next-possible-meeting" => "1"
],
4 => [
"meeting" => null,
],
"bemerkung" => "some notes by Maxim"
]
'person' 和 'next-possible-meeting' 是复选框,而 'meeting' 是文本区域。当“人”存在时,我只需要“终端”数据,因此我将它们中的每一个存储在不同的数组中(一个用于人员,一个用于会议,一个用于下一次可能的会议)。
这意味着我不再需要嵌套数组,可以(并且应该)从中删除“终端”。但是我不知道如何正确访问嵌套数组。
如何从整个数组中删除整个 'termin' 数组,从而使其成为普通数组而不是多维数组?
【问题讨论】:
你的意思是这样? 3v4l.org/7bHCd 【参考方案1】:使用unset()
if(isset($array['termin']))
unset ($array['termin']);
输出:- https://3v4l.org/1Yj4F
注意:- isset()
用于检查索引是否存在,如果不存在将保存函数调用。
【讨论】:
实际上unset
不会标记未定义的索引错误,它只是什么都不做。 3v4l.org/abU1j
你说得对,我刚刚发现我以某种方式制作了一个对象(我不知道我的代码中发生了什么)所以我只需要if(isset($array->hefte)) unset ($array->hefte);
以上是关于如何删除数组内的嵌套数组的主要内容,如果未能解决你的问题,请参考以下文章