Показать сообщение отдельно

  #10  
Старый 19.09.2009, 23:17
Van Bekannt
Новичок
Регистрация: 15.09.2009
Сообщений: 1
С нами: 8766227

Репутация: 4
По умолчанию

Задание 40:
PHP код:
<?php

$a
[1]['a'] = 'lol'
$a[1]['b'] = 'heh'
$a[2]['a'] = 'gygy'
$a[2]['b'] = 'smeh'

$result = array();

slice_array$a );

echo 
'<pre>';

print_r$result );

function 
slice_array$array = array() ) {
global 
$result;
    foreach( 
$array as $value ) {
        if( 
is_array$value ) ) slice_array$value );
        
        else 
$result[] = $value;    
    }

}

?>
Эта функция "плющит" любой массив...
Ну или если не хотите заморачиваться с глобальными переменными:
PHP код:
function slice_array$array = array(), &$result ) {
    foreach( 
$array as $value ) {
        if( 
is_array$value ) ) slice_array$value$result );
        else 
$result[] = $value;
    }

Первый аргумент - массив который надо плющить, а второй - куда все запишется ( передается указатель на массив, т.е. он должен быть заранее определен )

Задача 39:
восьмеричные числа имеют следующее правило:
0[0-7]+
ноль впереди и дальше числа от 0 до 7 ( не выше - на то они и восьмеричные числа ). все что выше == 0
Поэтому эта программа выведет 0. Чтобы вывести 8 нужно написать: 010

По поводу задачи 38 - думаю gisTy норм решение дал...

Последний раз редактировалось Van Bekannt; 19.09.2009 в 23:40..
 
Ответить с цитированием