Учу php - нужны задачи

2.52K
.
Задача
Выровнять массив. Т.е из многомерного массива сделать плоский.

Обьясню "на пальцах":
Дано:
$array = [1, [2, 3, 4], [5, 6]];

Преобразовать в:
$array = [1, 2, 3, 4, 5, 6];
.
The Frontend-Warrior
L!MP, где-то я видел такую задачу, даже код смотрел
.
точка невозврата
Задача. Есть массив (имя,город, возраст)
$array = array('Антон,Москва,11',
'Ирина,Питер,18',
'Сергей,Сочи,25',
'Дима,Москва,22',
'Катя,Москва,32');
Вынеси из массива имена жителей Москвы и выведи их по возрасту, от младшего до старшего.
.
vermas (09.03.2013 / 08:38)
Задача. Есть массив (имя,город, возраст)
$array = array('Антон,Москва,11',
'Ирина,Питер,18',
'Сергей,Сочи,25',
'Дима,Москва,22',
'Катя,Москва,32');
Вынеси из массива имена жителей Москвы и выве
Вот это я умею
.
точка невозврата
islamsoft, это хорошо, код не покажешь?
.
The Frontend-Warrior
мой велисапет
$array = array(
        'Антон,Москва,11',
        'Ирина,Питер,18',
        'Сергей,Сочи,25',
        'Дима,Москва,22',
        'Катя,Москва,32'    
    );
function insert($array, $key){
    $citt = array();
    foreach($array as $citizens){
        $cit = explode(',',$citizens);
        if($cit[1]==$key){
            array_push($citt,$cit);
        }
    }
    return $citt;
}
function sort_array($array, $key){
    // $key - поле, по которому сортируем 
    $c = count($array);
    for($i=0;$i<$c;$i++){ 
        $min = $i; 
        // поиск локального минимума
        for($j=$i; $j<$c;$j++){
            if($array[$min][$key] > $array[$j][$key]){
                $min = $j;
            }
        }
        $a = array();
        $a = $array[$i];
        $array[$i] = $array[$min];
        $array[$min] = $a;
    }
    return $array;
}
$array = insert($array, 'Москва');
$array = sort_array($array, 2);
foreach($array as $citizens){
    echo '<b>Имя</b>: '.$citizens[0].'; <b>Город</b>: '.$citizens[1].'; <b>Возраст</b>: '.$citizens[2].'
';
}
.
The Frontend-Warrior
L!MP, на твой пост (08.03.2013 / 19:45) отвечу,
$mm = array(1,array(2,3,4),array(5,6));
function my_array_merge($array){
    $c_array = $array; // создаем копию массива
    $om = array(); // одномерный массив
    foreach($c_array as $element){
        if(is_array($element)){
            $l_arr = my_array_merge($element);
            foreach($l_arr as $ar){
                $om[] = $ar;
            }
        }else{
            $om[] = $element;
        }
    }
    return $om;
}
my_array_merge($mm);
.
А вот так не умею(
.
The Frontend-Warrior
islamsoft, Москва не сразу строилась Учись обращаться со справочниками функций, используй любой сайт:
http://ru2.php.net
http://php.su
http://php.ru
.
точка невозврата
Blade (09.03.2013 / 13:22)
мой велисапет
[php]$array = array(
'Антон,Москва,11',
'Ирина,Питер,18',
'Сергей,Сочи,25',
'Дима,Москва,22',
'Катя,Москва,32'
);
function in
$city = 'Москва';
$new = array();
foreach ($array as $value) {
$data = explode (',', $value);
if ($data[1] == $city)
$new[$data[0]] = intval($data[2]);
}
if (!empty($new)) {
asort($new);
foreach ($new as $key => $val)
echo $key . '<br/>';
}

чуть попроще
Всего: 182