Php 检查具有相同键的对象的数组
我正在创建一个对象数组(或尝试创建),如下所示:Php 检查具有相同键的对象的数组,php,arrays,object,Php,Arrays,Object,我正在创建一个对象数组(或尝试创建),如下所示: Array ( [1] => stdClass Object ( [date] => 2016-09-28 ) [5] => stdClass Object ( [date] => 2016-09-28 ) [2] => stdClass Object ( [date] => 2016-09-29 ) [0]
Array
(
[1] => stdClass Object
(
[date] => 2016-09-28
)
[5] => stdClass Object
(
[date] => 2016-09-28
)
[2] => stdClass Object
(
[date] => 2016-09-29
)
[0] => stdClass Object
(
[date] => 2016-09-30
)
[4] => stdClass Object
(
[date] => 2016-09-30
)
[3] => stdClass Object
(
[date] => 2016-09-30
)
)
我遇到的问题是,我无法确定如何检查具有date->$date
的对象是否已经存在
我需要一个'days'
数组,然后我可以继续将研讨会添加到相应的days,而不是每次添加到一个新对象
有人能提个建议吗
- 编辑
- 获取日期(天)
- 检查数组中是否存在该日期
- 如果不是,则将日期添加到数组中
- 然后将车间对象添加到该日期数组中
Array(
Date 1(
Workshop(
Title, etc
),
Workshop()
)
Date 2(
Workshop(
Title, etc
)
Workshop()
)
)
很抱歉,我确信我的结构是错的-这对我来说有点先进。谢谢你的关注 你需要的是这样的东西。您可以使用一个函数对结果进行分组
function groupWorkShopsByDate($first_array){
$result_arr = array();
foreach( $first_array as $workShop ){
$result_arr[ $workShop->date ][] = $workShop;
}
return $result_arr;
}
希望这有帮助 你需要什么还不清楚。请进一步解释。我已经为context@masterFly编辑了这个问题。也许将输入作为数组更容易处理,请尝试解码它
json\u decode($jsonstring,true)代码>将得到一个关联数组。因此,基本上,您要做的是从日期开始对对象(位于第一个数组中)进行分组。我说的对吗?对!这很有魅力。谢谢您的时间@masterFly。您能帮我进一步整理阵列吗?我已使用“ksort()”将日期按顺序排序,但我需要进一步对每个日期内的研讨会进行排序,我被卡住了。基本上,您必须决定要对研讨会排序的信息。然后将put作为数组的键<代码>$result\u arr[$workShop->date][]=$workShop代码>然后您可以像以前一样对它们进行排序!