Bu aralar PHP öğrenmeye çalışıyorum.
üstteki örneği test etmeye çalıştım.

Kodu şu şekilde localime aldım

şu türden hatalar alıyorum.

Warning: Use of undefined constant id - assumed 'id' (this will throw an Error in a future version of PHP) in C:\WinNMP\WWW\** on line 5
Warning: Illegal offset type in C:\WinNMP\WWW\** on line 5
Warning: Use of undefined constant surveyId - assumed 'surveyId' (this will throw an Error in a future version of PHP) in C:\WinNMP\WWW\** on line 6

neyi yanlış yapmışım?


$sorular_json = [
[0] => Array(
[id] => 20486,
[surveyId] => 1430,
[questionId] => 106972,
[answer] => 1,
[value] => 1,
[comment] => "-",
[imagePath] => "-",
[photoList] => ""
),
[1] => Array(
[id] => 20487,
[surveyId] => 1430,
[questionId] => 106973,
[answer] => 2,
[value] => 1,
[comment] => "-",
[imagePath] => "-",
[photoList] => ""
),
];

$soru_cevaplari_js =
[
[0] => Array(
[id] => 106972,
[SurveyTypeCode] => 5,
[SurveyDescription] => Anket,
[SurveySectionNumber] => 1,
),

[1] => Array(
[id] => 106973,
[SurveyTypeCode] => 5,
[SurveyDescription] => Anket,
[SurveySectionNumber] => 1,
),

[2] => Array(
[id] => 106935,
[SurveyTypeCode] => 5,
[SurveyDescription] => Anket,
[SurveySectionNumber] => 4,
),
];


foreach ($sorular_json as $sorularKey => $sorularVal) {
//eşleşme kontrolünü soru foreachinin her dönüşünün başında 0 lıyoruz
$eslestiMi = 0;

foreach ($soru_cevaplari_js as $soruCevapKey => $soruCevapVal) {
if ($soruCevapVal["questionId"] == $sorularVal["id"]) {
echo "
";


print_r($soruCevapVal);
print_r($sorularVal);
echo "
";

//eşleşme olduğu için flag'e 1 set edip 2. foreach'i break ile kırıyoruz
$eslestiMi = 1;
break;
}
}

//şayet eşleşme olmamışsa değişkenimiz 0 kaldığı için soruyu ekrana basıyoruz
if ($eslestiMi == 0) {
echo "
";

print_r($sorularVal);
echo "
";
}
}