I have an Array called $formAnswers
and an Array of Objects called $defaultData
.
I need to take the [Id]
from $formAnswers
and find in $defaultData
to get the particular content block. Then check [InputKeyName]
from $formAnswers
in the content block and push the [Value]
from $formAnswers
to $defaultData
.
- There can be the same
[Id]
multiple times in$formAnswers
. - In
$defaultData
one[Id]
will be only occur once.
Till the for
loop everything works as expected but from there it's not working. How do I solve this problem?
Here is my function:
public function pushFormAnswersToDefaultData(array $defaultData, array $formAnswers)
{
foreach ($defaultData["info"] as $defaultDataContent)
{
foreach ($defaultDataContent as $defaultDataProfile)
{
if (is_array($defaultDataProfile))
{
foreach ($defaultDataProfile as $defaultKey => $defaultDataProfileContent)
{
//Content Block
for($c=0;$c<count($formAnswers);$c++)
{
if($defaultDataProfileContent->Id == $formAnswers[$c]['Id'])
{
foreach ($defaultDataProfile[$defaultKey] as $nameKey => $profileDataContentInside)
{
if ($nameKey == $formAnswers[$c]['InputKeyName'])
{
$defaultDataProfileContent->$formAnswers[$c]['InputKeyName'] = $formAnswers[$c]['Value'];
}
}
}
}
}
}
}
}
return $defaultData;
}
Here is $formAnswers
:
$formAnswers = Array (
[0] => Array
(
[Id] => 0142643741
[InputKeyName] => FromDate
[Value] => 28.03.2017
)
[1] => Array
(
[Id] => 5338820142
[InputKeyName] => Menu
[Value] => Green Salad
)
[2] => Array
(
[Id] => 7351265992
[InputKeyName] => Area
[Value] => Mc Cully Green
)
[3] => Array
(
[Id] => 02643029354
[InputKeyName] => Menu
[Value] => Fried Rice
)
[4] => Array
(
[Id] => 9808392996
[InputKeyName] => Description
[Value] => Bolognese is super easy and a true classic Italian pasta
)
[5] => Array
(
[Id] => 02643029354
[InputKeyName] => FromDate
[Value] => 04.01.2017
)
)
Here is $defaultData
:
$defaultData = Array
(
[info] => Array
(
[0] => stdClass Object
(
[__type] => customerDEDto:#Profile
[ArchieBurns] => Array
(
[0] => stdClass Object
(
[Id] => 2987279348
[Description] => fgdfdfg
[FromDate] => 01.05.2016
[Area] => Murwillubah Trail
[ToDate] => 01.08.2016
)
[1] => stdClass Object
(
[Id] => 7593862202
[Menu] => CHICKEN FREESTYLE WRAP
[FromDate] => 01.05.2016
[Area] => South Jaybarry Gardens
[ToDate] => 01.08.2016
)
)
[TheoRobertson] => Array
(
[0] => stdClass Object
(
[Id] => 6491059338
[Description] => khjkh
[FromDate] => 01.05.2016
[Area] => Murwillubah Trail
[ToDate] => 01.08.2016
)
[1] => stdClass Object
(
[Id] => 6448295430
[Menu] => HEY PESTO! PIZZA
[FromDate] => 01.05.2016
[Area] => South Clock Barn
[ToDate] => 01.08.2016
)
)
[ChristopherParry] => Array
(
[0] => stdClass Object
(
[Id] => 9808392996
[Description] => asdad
[FromDate] => 01.05.2016
[Area] => Murwillubah Trail
[ToDate] => 01.08.2016
)
[1] => stdClass Object
(
[Id] => 4701327370
[Menu] => PIZZA FRESCO
[FromDate] => 01.05.2016
[Area] => South Jaybarry Gardens
[ToDate] => 01.08.2016
)
)
[EdwardRose] => Array
(
[0] => stdClass Object
(
[Id] => 9261501733
[Description] => fghfg
[FromDate] => 01.05.2016
[Area] => Murwillubah Trail
[ToDate] => 01.08.2016
)
[1] => stdClass Object
(
[Id] => 9064113070
[Menu] => CHICKEN FREESTYLE WRAP
[FromDate] => 01.05.2016
[Area] => South Jaybarry Gardens
[ToDate] => 01.08.2016
)
)
[CoreyWest] => Array
(
[0] => stdClass Object
(
[Id] => 7434455815
[Description] => ewrwr
[FromDate] => 01.05.2016
[Area] => Murwillubah Trail
[ToDate] => 01.08.2016
)
[1] => stdClass Object
(
[Id] => 8740648411
[Menu] => Pancakes
[FromDate] => 01.05.2016
[Area] => South Bacton Grove
[ToDate] => 01.08.2016
)
)
[Language] => de
[ProfileId] => jkl-3541682444-x01
[ThiagoBird] => Array
(
[0] => stdClass Object
(
[Id] => 6810891812
[Description] => jkljkl
[FromDate] => 01.05.2016
[Area] => Murwillubah Trail
[ToDate] => 01.08.2016
)
[1] => stdClass Object
(
[Id] => 02643029354
[Menu] => Spaghetti
[FromDate] => 01.05.2016
[Area] => Moslee Grade Northeast
[ToDate] => 01.08.2016
)
)
)
[1] => stdClass Object
(
[__type] => customerENDto:#Profile
[ArchieBurns] => Array
(
[0] => stdClass Object
(
[Id] => 1682400506
[Description] => werner
[FromDate] => 01.05.2016
[Area] => Murwillubah Trail
[ToDate] => 01.08.2016
)
[1] => stdClass Object
(
[Id] => 7814641591
[Menu] => Waffles
[FromDate] => 01.05.2016
[Area] => Launch Quay
[ToDate] => 01.08.2016
)
)
[TheoRobertson] => Array
(
[0] => stdClass Object
(
[Id] => 7351265992
[Description] => high
[FromDate] => 01.05.2016
[Area] => Murwillubah Trail
[ToDate] => 01.08.2016
)
[1] => stdClass Object
(
[Id] => 2467265927
[Menu] => goose
[FromDate] => 01.05.2016
[Area] => South Savine Quadrant
[ToDate] => 01.08.2016
)
)
[ChristopherParry] => Array
(
[0] => stdClass Object
(
[Id] => 9066762572
[Description] => hfghfg
[FromDate] => 01.05.2016
[Area] => Murwillubah Trail
[ToDate] => 01.08.2016
)
[1] => stdClass Object
(
[Id] => 5338820142
[Menu] => CHICKEN FREESTYLE WRAP
[FromDate] => 01.05.2016
[Area] => Hughenden Alley
[ToDate] => 01.08.2016
)
)
[EdwardRose] => Array
(
[0] => stdClass Object
(
[Id] => 6594908359
[Description] => trzrtz
[FromDate] => 01.05.2016
[Area] => Murwillubah Trail
[ToDate] => 01.08.2016
)
[1] => stdClass Object
(
[Id] => 0075490683
[Menu] => French dip
[FromDate] => 01.05.2016
[Area] => Heustis Plaza
[ToDate] => 01.08.2016
)
)
[CoreyWest] => Array
(
[0] => stdClass Object
(
[Id] => 0142643741
[Description] => dfsdf
[FromDate] => 01.05.2016
[Area] => Murwillubah Trail
[ToDate] => 01.08.2016
)
[1] => stdClass Object
(
[Id] => 6165554440
[Menu] => CHICKEN FREESTYLE WRAP
[FromDate] => 01.05.2016
[Area] => East Otterburn Heights
[ToDate] => 01.08.2016
)
)
[Language] => en
[ProfileId] => mzd-d95840ec4559
[ThiagoBird] => Array
(
[0] => stdClass Object
(
[Id] => 1905649736
[Description] => rsfsr
[FromDate] => 01.05.2016
[Area] => Murwillubah Trail
[ToDate] => 01.08.2016
)
[1] => stdClass Object
(
[Id] => 4580348850
[Menu] => eggrolls
[FromDate] => 01.05.2016
[Area] => Shorthills Crescent
[ToDate] => 01.08.2016
)
)
)
)
)