Diana95
Новичок
Доброго вам времени суток, только начала изучать PHP, но вот уже на второй задаче проблемы, очень прошу помочь:
Необходимо переоформить выполнение формирования нового массива в виде функции, где входными данными будут имя и id(как мне объяснили это буду переменные), а на выходе будет сгруппированный массив.
Вот код без функции:
<?
$array1 = array(
0=>array("name"=>"Ivan", 'id'=>1),
1=>array("name"=>"Ivan", 'id'=>2),
2=>array("name"=>"Sergei", 'id'=>3),
3=>array("name"=>"Ivan", 'id'=>2)
);
$array2 = array();
foreach($array1 as $element){
$array2[ $element['name'] ] [ ] = $element;
}
echo '<pre>';
var_dump($array2);
Очень прошу помочь, потому что пока разобраться не могу. Заранее спасибо!
P.S. Для справки изначально условие стояло следующее:
Данные из многомерного массива вида:
$array1 = array(
0=>array("name"=>"Ivan", 'id'=>1),
1=>array("name"=>"Ivan", 'id'=>2),
2=>array("name"=>"Sergei", 'id'=>3),
3=>array("name"=>"Ivan", 'id'=>2)
);
Необходимо передать в пока ещё пустой массив и заполнить данными из $array1 в виде:
$array2=array(
"Ivan"=>array(
1=>array(0=>array("name"=>"Ivan", 'id'=>1)
2=>array(0=>array("name"=>"Ivan", 'id'=>2
1=>array("name"=>"Ivan", 'id'=>2))
"Sergei"=>array(
3=>array(0=>array("name"=>"Sergei", 'id'=>3)
)
Естественно данных не только 4 (это просто для примера), но поля именно такие
Необходимо переоформить выполнение формирования нового массива в виде функции, где входными данными будут имя и id(как мне объяснили это буду переменные), а на выходе будет сгруппированный массив.
Вот код без функции:
<?
$array1 = array(
0=>array("name"=>"Ivan", 'id'=>1),
1=>array("name"=>"Ivan", 'id'=>2),
2=>array("name"=>"Sergei", 'id'=>3),
3=>array("name"=>"Ivan", 'id'=>2)
);
$array2 = array();
foreach($array1 as $element){
$array2[ $element['name'] ] [ ] = $element;
}
echo '<pre>';
var_dump($array2);
Очень прошу помочь, потому что пока разобраться не могу. Заранее спасибо!
P.S. Для справки изначально условие стояло следующее:
Данные из многомерного массива вида:
$array1 = array(
0=>array("name"=>"Ivan", 'id'=>1),
1=>array("name"=>"Ivan", 'id'=>2),
2=>array("name"=>"Sergei", 'id'=>3),
3=>array("name"=>"Ivan", 'id'=>2)
);
Необходимо передать в пока ещё пустой массив и заполнить данными из $array1 в виде:
$array2=array(
"Ivan"=>array(
1=>array(0=>array("name"=>"Ivan", 'id'=>1)
2=>array(0=>array("name"=>"Ivan", 'id'=>2
1=>array("name"=>"Ivan", 'id'=>2))
"Sergei"=>array(
3=>array(0=>array("name"=>"Sergei", 'id'=>3)
)
Естественно данных не только 4 (это просто для примера), но поля именно такие