Правила     Закладки     Карма    Календарь    Журналы    Помощь    Поиск    PDA    Чат   
        СМС-ки
   
Пейджер выключен!
 
Фильтр авторов:    показать 
  скрыть
  Ответ в темуСоздание новой темыСоздание опроса

> Преобразование многомерного массива в строку, преобразование массива в функцией которая вызывает сама себя
sg.com  
 ۩  [x] Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Абориген
*****

Профиль
Группа: Пользователь
Сообщений: 237
Пользователь №: 42899
На форуме: 9 лет, 1 месяц, 22 дня
Карма: 4




например, можно записать в лог все что в $_POST, ну и т.д.
  // $data - строка или массив (любой)
// $ind - уровень вложенности начиная с 1 (единицы)
// $spr - разделитель в строке
// $string - начальная инф. составной строки


function convertArrayString($data, $ind=0, $spr ='|', $string='') {
$ind = $ind+1;

if (is_array($data)) {
foreach ($data as $key => $val) {
if (is_array($val)) {
$string = $string . $spr
.'('.$ind.')'. $key.'='.convertArrayString($val, $ind);
} else {
$string = $string . $spr .'('.$ind.')'. $key.'='.$val;
}
}
}


if (!empty($string)) {return $string;} else {return $data;}
}


наверное это можно компактнее написать, пока не пойму как?
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
Valick  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Здесь живет
******

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 6470
Пользователь №: 35718
На форуме: 12 лет, 7 месяцев, 1 день
Карма: 208






--------------------
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
sg.com  
 ۩  Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Абориген
*****

Профиль
Группа: Пользователь
Сообщений: 237
Пользователь №: 42899
На форуме: 9 лет, 1 месяц, 22 дня
Карма: 4




можно и сериализе но пока так получилось:
     function convertArrayString($data, $ind=0, $spr ='|', $string='') {
if (is_string($data) || !is_array($data)) {return $data;}
$ind = $ind+1;

foreach ($data as $key => $val) {
if (is_array($val)) {
return $string . $spr.'('.$ind.')'.$key.'='.convertArrayString($val, $ind);
} else {
return $string . $spr.'('.$ind.')'.$key.'='.$val;
}
}
}

PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
Valick  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Здесь живет
******

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 6470
Пользователь №: 35718
На форуме: 12 лет, 7 месяцев, 1 день
Карма: 208




sg.com, зачем? Убедить окружающих, что вы не в совершенстве владеете ЯП?
Сама по себе рекурсия очьень мощное "оружие", особенно когда от уровня функций она переходит на уровень классов. Но изобретать велосепед вместо ракеты нет смысла.
Как вы будете распаковывать строку обратно в массив?


--------------------
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
sg.com  
 ۩  Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Абориген
*****

Профиль
Группа: Пользователь
Сообщений: 237
Пользователь №: 42899
На форуме: 9 лет, 1 месяц, 22 дня
Карма: 4




Цитата (sg.com @ 2.06.2025 - 19:35)
зачем? Убедить окружающих, что вы не в совершенстве владеете ЯП?

так в том и дело, что может какой-то вариант интересный есть, в область рекурсивных вызовов как-то еще не сильно вникал. По крайней мере, какое-то время, наверное полдня эта функция у меня где-то там крутилась в уме, пока тот второй вариант не оформил. Мне распаковывать не нужно будет, просто нужна строка для записи в файл (в случае необходимости просто просмотреть файл).

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

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

// еще у меня сегодня такая мысль была, вряд ли что никому не интересна область в программировании вэб, наверное php чем то другим сменили, питоном может?




PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
  Быстрый ответ
Информация о Госте
Введите Ваше имя
Кнопки кодов
Для вставки цитаты, выделите нужный текст и
НАЖМИТЕ СЮДА
Введите сообщение
Смайлики
:huh:  :o  ;) 
:P  :D  :lol: 
B)  :rolleyes:  <_< 
:)  :angry:  :( 
:unsure:  :blink:  :ph34r: 
     
Показать всё

Опции сообщения  Включить смайлики?
 Включить подпись?
 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:

Опции темы Ответ в темуСоздание новой темыСоздание опроса