Многомерный массив

Tandemich

Мерфи был оптимистом
Многомерный массив

В цикле формирую многомерный массив
$a[1[$i]]
$a[2[$i]]
и т.д.

в итоге получается вот что

Array ( [id[0] => 91 [number[0] => 1 [penalty[0] => [id[1] => 499 [number[1] => 1 [penalty[1] => [number[2] => [penalty[2] => [number[3] => [penalty[3] => )

Может я глюкаю , но как обращаться к конкретному элементу массива, точнее как обращаться

$a[1[1]]- не проходит
$a[1][$i]-тоже неверно
 

Demiurg

Guest
Re: Многомерный массив

Автор оригинала: Tandemich
В цикле формирую многомерный массив
$a[1[$i]]
$a[2[$i]]
и т.д.
в итоге получается вот что
Array ( [id[0] => 91 [number[0] => 1 [penalty[0] => [id[1] => 499 [number[1] => 1 [penalty[1] => [number[2] => [penalty[2] => [number[3] => [penalty[3] => )
Может я глюкаю , но как обращаться к конкретному элементу массива, точнее как обращаться
$a[1[1]]- не проходит
$a[1][$i]-тоже неверно
а что такое 1[$i] ?
 

Tandemich

Мерфи был оптимистом
Re: Re: Многомерный массив

$jj=0; while ($row = mysql_fetch_object($result))
{
echo $fio= $row->fio;
$id=$row->id;
?><input type="checkbox" name="gk1[id[<?=$jj;?>]]" value="<?=$id;?>">

<input type="text" name="gk1[number[<?=$jj;?>]]" size="3">
<input type="text" name="gk1[penalty[<?=$jj;?>]]" size="3">
<br>
<?$jj++;}?>

в цикле вывожу всех вратарей команды чекбоксом выбираю игравшего вратаря, gk1[number[<?=$jj;?>]] - количество пропущеных голов, gk1[penalty[<?=$jj;?>]] количество голов с пенальти,
в скрипте обработчике получаю массив
Array ( [id[0] => 91 [number[0] => 1 [penalty[0] => [id[1] => 499 [number[1] => 1 [penalty[1] => [number[2] => [penalty[2] => [number[3] => [penalty[3] => )

как обратиться к элементу этого массива соответствующему каждому вратарю
 

Demiurg

Guest
Re: Re: Re: Многомерный массив

Автор оригинала: Tandemich
$jj=0; while ($row = mysql_fetch_object($result))
{
echo $fio= $row->fio;
$id=$row->id;
?><input type="checkbox" name="gk1[id[<?=$jj;?>]]" value="<?=$id;?>">
<input type="text" name="gk1[number[<?=$jj;?>]]" size="3">
<input type="text" name="gk1[penalty[<?=$jj;?>]]" size="3">
<br>
<?$jj++;}?>
в цикле вывожу всех вратарей команды чекбоксом выбираю игравшего вратаря, gk1[number[<?=$jj;?>]] - количество пропущеных голов, gk1[penalty[<?=$jj;?>]] количество голов с пенальти,
в скрипте обработчике получаю массив
Array ( [id[0] => 91 [number[0] => 1 [penalty[0] => [id[1] => 499 [number[1] => 1 [penalty[1] => [number[2] => [penalty[2] => [number[3] => [penalty[3] => )
как обратиться к элементу этого массива соответствующему каждому вратарю
может быть так $gk1['number[1]']
хотя я бы на твоем месте делал бы так
<input type="checkbox" name="id[<?=$jj;?>]" value="<?=$id;?>">
<input type="text" name="number[<?=$jj;?>]" size="3">
<input type="text" name="penalty[<?=$jj;?>]" size="3">
 

Tandemich

Мерфи был оптимистом
Re: Re: Re: Re: Многомерный массив

Автор оригинала: Demiurg
может быть так $gk1['number[1]']
хотя я бы на твоем месте делал бы так
<input type="checkbox" name="id[<?=$jj;?>]" value="<?=$id;?>">
<input type="text" name="number[<?=$jj;?>]" size="3">
<input type="text" name="penalty[<?=$jj;?>]" size="3">
Так раньше и было, только если отмечаешь только одного вратаря то идет несоответствие по массивам
 

Demiurg

Guest
Re: Re: Re: Re: Re: Многомерный массив

Автор оригинала: Tandemich
Так раньше и было, только если отмечаешь только одного вратаря то идет несоответствие по массивам
поподробнее можно ?
 

makRo

Guest
Re: Многомерный массив

Автор оригинала: Tandemich

$a[1][$i]-тоже неверно
Эт почему не верно ??
Недавно, кстати разбирался с массивом $HTTP_POST_FILES Для загрузки нескольких файлов в массиве. Если про вратарей то должно быть так :
$вратари[количество проп.голов][номер вратаря]
$вратари[количество голов с пен.][номер вратаря]


$vrataries['name'][1] //Вася
$vrataries['prop'][1]
$vrataries['penalti][1]

$vrataries['name'][2] //Петя
$vrataries['prop'][2]
$vrataries['penalti][2]

$vrataries['name'][$i] //Все остальные
$vrataries['prop'][$i]
$vrataries['penalti][$i]

должно работать )
 

Роберт

Аналитик
Re: Re: Многомерный массив

Помоему тут надо просто добавить фигурные скобки и вместо
$a[1][$i]
писать
{$a[1][$i]}
иначе от обратится к соответветствующей букве элемента $a[1] , чего тебе не надо (чего у тебя и нету).
Вот и всё...
 

makRo

Guest
Re: Re: Re: Многомерный массив

Вобщем этот код точно работает, проверено
PHP:
for($i=1; $i<5; $i++)
{
	$vrataries['prop'][$i] = "Пропущенные голы вратаря №".$i; // сюда заносим ест-но числа а не текст
	$vrataries['penalti'][$i] = "Пенальти вратаря №".$i;
}

for($i=1; $i<5; $i++)
{
	echo $vrataries['prop'][$i]."  /  ";
	echo $vrataries['penalti'][$i]."<br>";
}
Как бы получается массивы свойств, а не свойства массивов )
 
Сверху