Member 12842814 Ответов: 1

Как я могу напечатать значение ключа в этой программе?


я новичок в программировании  Как я могу напечатать значение ключа в этой программе? я также получаю уведомление как " неопределенное смещение: 4 в строках 12 и 18"

Что я уже пробовал:

"BARCELONA", "GER"=>"BAYERN", "POR"=>"BENFICA","ENG"=>"CHELSIA");
$TEAM = array("ESP"=>"ATLETICO", "GER"=>"LEVERKUSEN", "POR"=>"PORTO","ENG"=>"ARSENAL","ESP"=>"REAL MADRID");
$A=array_keys($CHAMP);
$B=array_keys($TEAM);

for ($i = 0; $i <1; $i++)
        {
			for($j=0;$j<=count($TEAM);$j++)
			{
			if($A[$i] == $B[$j])
			{
				shuffle($B);
			}
			else
			{
				print_r($B[$j]);
			}
			}
			
		}
		?>

ZurdoDev

Я считаю, что ошибка заключается в том, что вы получаете доступ к индексу, которого там нет.

1 Ответов

Рейтинг:
0

Peter Leow

Во-первых, у вас есть этот дубликат ключа "ESP" в ассоциативном массиве $TEAM, что недопустимо. Таким образом, массив ключей $TEAM, назначенный $B, будет включать только один "ESP". Это делает Ваш массив $B короче, чем $TEAM.

Во-вторых, зачем вам эта петля

for ($i = 0; $i <1; $i++)

когда он будет делать цикл только один раз?

В-третьих, условие завершения этого цикла является ошибочным:
for($j=0;$j<=count($TEAM);$j++)

Вам должно быть ясно, что начальный индексный номер любого массива равен ____ (заполните пробел).

В-четвертых, если вы имеете дело с ключами в третьем, не должны ли вы использовать $B вместо $TEAM в завершающем состоянии?

Я показал вам направление, и вы должны сами отважиться найти ответ. Google для ответа на четыре указателя выше. Вы можете хорошо учиться, только если сами найдете ответ.