ФорумПрограммированиеPHP для идиотов → Массивы

Массивы

  • }/{EHR

    Сообщения: 734 Репутация: N Группа: Адекваты

    Spritz Сен. 28, 2009, 6:33 п.п.

    Есть двухмерный массив. Нужно все значения записать в строку…
  • adw0rd

    Сообщения: 22959 Репутация: N Группа: в ухо

    Spritz Сен. 28, 2009, 6:43 п.п., спустя 10 минут 31 секунду


    Есть двухмерный массив. Нужно все значения записать в строку…
    [man]join[/man]?
    https://smappi.org/ - платформа по созданию API на все случаи жизни
  • Troy

    Сообщения: 2532 Репутация: N Группа: Джедаи

    Spritz Сен. 28, 2009, 7:04 п.п., спустя 20 минут 41 секунду

    он же implode
  • genoc1de

    Сообщения: 60 Репутация: N Группа: Кто попало

    Spritz Сен. 28, 2009, 7:46 п.п., спустя 42 минуты 5 секунд

  • AndryG

    Сообщения: 237 Репутация: N Группа: Адекваты

    Spritz Сен. 28, 2009, 8:05 п.п., спустя 19 минут 5 секунд

    <?php                         
    $array = array(array('11','12'),array('21','22'));
    $result = '';

    array_walk_recursive($array,create_function('$v,$k,&$r','{$r .= " ".$v;}'),&$result);

    echo "<PRE>".print_r($array,true)."<br>\"$result\"";
    [tt]Array
    (
    [0] => Array
    (
    [0] => 11
    [1] => 12
    )

    [1] => Array
    (
    [0] => 21
    [1] => 22
    )

    )
    " 11 12 21 22"
    [/tt]
  • }/{EHR

    Сообщения: 734 Репутация: N Группа: Адекваты

    Spritz Сен. 28, 2009, 8:35 п.п., спустя 29 минут 32 секунды


    <?php                         
    $array = array(array('11','12'),array('21','22'));
    $result = '';

    array_walk_recursive($array,create_function('$v,$k,&$r','{$r .= " ".$v;}'),&$result);

    echo "<PRE>".print_r($array,true)."
    \"$result\"";
    [tt]Array
    (
    [0] => Array
    (
    [0] => 11
    [1] => 12
    )

    [1] => Array
    (
    [0] => 21
    [1] => 22
    )

    )
    " 11 12 21 22"
    [/tt]
    $v,$k,&$r-это что?
  • AndryG

    Сообщения: 237 Репутация: N Группа: Адекваты

    Spritz Сен. 28, 2009, 8:55 п.п., спустя 20 минут 39 секунд

    http://ua2.php.net/array_walk_recursive
    Это три параметра, которые передаются callback-функции.
    $Value $Key - значение и индекс текущего элемента массива.
    $Result - это пользовательский параметр.
  • }/{EHR

    Сообщения: 734 Репутация: N Группа: Адекваты

    Spritz Сен. 28, 2009, 9:15 п.п., спустя 19 минут 42 секунды

    Нифига не понял ) Мне их надо где то объявлять? Если нет, то всеравно ошибка
  • AndryG

    Сообщения: 237 Репутация: N Группа: Адекваты

    Spritz Сен. 28, 2009, 9:28 п.п., спустя 12 минут 43 секунды

    Кого объявлять?! Какая ошибка? Я Вам выдал работающий код и под ним результат его работы.
    Спустя 63 сек.
    PHP 5.2.10.10
    Спустя 215 сек.
    array_walk_recursive($array,create_function('$v,$k,&$r','{$r .= " ".$v;}'),&$result); 

    // эквивалент:

    function temp_function($v,$k,&$r){
    $r .= " ".$v;
    }
    array_walk_recursive($array,'temp_function',&$result);
  • }/{EHR

    Сообщения: 734 Репутация: N Группа: Адекваты

    Spritz Сен. 28, 2009, 9:50 п.п., спустя 22 минуты 13 секунд

    спс
  • }/{EHR

    Сообщения: 734 Репутация: N Группа: Адекваты

    Spritz Сен. 30, 2009, 5:13 п.п., спустя 1 день 19 часов 23 минуты

    $r - то что вставляется между строчками? аа почему если я пишу $r .= "\n", то не с новой строки начинается?
  • NRG

    Сообщения: 4761 Репутация: N Группа: в ухо

    Spritz Сен. 30, 2009, 5:35 п.п., спустя 22 минуты 1 секунду


    $r - то что вставляется между строчками? аа почему если я пишу $r .= "\n", то не с новой строки начинается?
    потому что ты скорее всего делаешь это на венде.
    соотвественно нужно юзать виндовые переносы строк. \r
  • }/{EHR

    Сообщения: 734 Репутация: N Группа: Адекваты

    Spritz Сен. 30, 2009, 6:11 п.п., спустя 36 минут 4 секунды

    Ну и последний вопрос ) Из двумерного массива нужно сделать одномерный
  • NRG

    Сообщения: 4761 Репутация: N Группа: в ухо

    Spritz Сен. 30, 2009, 6:18 п.п., спустя 6 минут 18 секунд


    Ну и последний вопрос ) Из двумерного массива нужно сделать одномерный
    во-первых покажи исходный массив и массив который надо получить.
    во-вторых на каком этапе возникли трудности ?
  • }/{EHR

    Сообщения: 734 Репутация: N Группа: Адекваты

    Spritz Сен. 30, 2009, 6:25 п.п., спустя 7 минут 19 секунд

    $a[0][0] = 0;
    $a[0][1] = 1;
    $a[1][0] = 8;
    $a[2][0] = 9;
    Надо:
    $a[0] = 0;
    $a[1] = 1;
    $a[2] = 8;
    $a[3] = 9;

Пожалуйста, авторизуйтесь, чтобы написать комментарий!