[Technical Issue] PHP - Notice: Undefined offset
Дава ми като грешка Notice: Undefined offset при опит да рънна този код. Защо се получава така?
Дава ми като грешка Notice: Undefined offset при опит да рънна този код. Защо се получава така?
Това е, защото се опитваш да достъпваш асоциативен масив като нормален масив. count($days) - 1 е 6, така php търси индекс 6 в масива. Това, което ти трябва обаче е не индекс 6, а индекс "seventh DW".
В твоя случай обаче е по-добре (по-лесно, най-малко) да проверяваш не стойностите (както го правиш), а ключовете в if-a, ето така:
if(key == "seventh DW") {}
И още нещо, можеш да избегнеш повторението на единия ред код, като разместиш малко мястото на if-a:
Ако не искаш да хардкодваш името на ключа, може да изнесеш каунтър извън foreach-а.
$days = ['first DW'=>'Monday', 'second DW'=>'Tuesday', 'third DW'=>'Wednesday','fourth DW'=>'Thursday','fifth DW'=>'Friday','sixth DW'=>'Saturday','seventh DW'=>'Sunday'];
$counter = 0;
foreach($days as $key => $d) {
$counter++;
if($counter === count($days)-1) {
echo "$key -> $d";
} else {
echo "$key -> $d, ";
}
}