Форум программистов, компьютерный форум, киберфорум
PHP для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/8: Рейтинг темы: голосов - 8, средняя оценка - 5.00
 Аватар для SpartakusMd
22 / 22 / 9
Регистрация: 29.03.2010
Сообщений: 173

Multidimensional array to simple array

17.10.2010, 00:32. Показов 1589. Ответов 11
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
How to make from a multidimensional array a simple array?
Как сделать из многомерного массива простой массив
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
17.10.2010, 00:32
Ответы с готовыми решениями:

Notice: Array to string conversion in /home/komp/www/site1.my/www/index.php on line 58 Array
Notice: Array to string conversion in /home/komp/www/site1.my/www/index.php on line 58 Array Ни как не могу решить эту...

array()
Я пока-что чайник в php, знаю html на процентов 60. Хотелось бы поинтересоваться, где может использоваться такая вот ф-ция array(),...

array()
Почему-то такую конструкцию PHP не хочет интерпреировать. Пишет, что в ней лишние точки. Очень не хочется засовывать в массив через...

11
 Аватар для __PION__
960 / 801 / 85
Регистрация: 21.07.2010
Сообщений: 3,522
17.10.2010, 01:19
SpartakusMd, официальный язык форума - Русский!
0
 Аватар для SpartakusMd
22 / 22 / 9
Регистрация: 29.03.2010
Сообщений: 173
17.10.2010, 01:20  [ТС]
This is what I use:
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
$m = array("az", 123, array("da", array(4), 5), 1,array("az", 123, array(array("az", 123, array("da", array(4), 5), 1),"da", array(4), 5), 1));
$arr=array();
function unify ($array) {
    global $arr;
    if(is_array($array)) { // Is array
        if(count($array) > 1) { // Have 2 or more values
            foreach($array as $res) { // Parse all
                if(is_array($res)){ // Is array
                    unify($res); // Run again that function
                } else {
                    array_push($arr, $res); // Insert value in array
                }
            }
        } else {
            array_push($arr, $array[0]); // Insert value in array
        }
        return true;
    } else {
        return false; // Isn't array
    }
}
This function need optimization with $arr value, but i dont know how to optimize...

Добавлено через 47 секунд
Love_and_Peace, Простите! Буду исправить...
0
 Аватар для romchiksoad
1957 / 796 / 89
Регистрация: 03.11.2009
Сообщений: 3,066
Записей в блоге: 2
17.10.2010, 16:23
SpartakusMd,
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
<?php
//Узнаем количество вложенных массивов
//Know the number of nested arrays
$count_arr = count ( $array );
 
//Формируем строку параметров для функции array_merge()
//Form a line of arguments for function
 
//Первый массив
//First array
$str = '$array[0]';
 
for ( $i = 1; $i < $count_arr; $i++ )
    $str .= ', $array[' . $i . ']';
 
//Объединяем и выводим все массивы
//Merge and print all arrays
print_r ( array_merge( $str ) );
?>
Если есть ошибки, то говорите...
If there are errors, then talk

Добавлено через 1 час 57 минут
SpartakusMd, на самом деле всё проще... ( In fact, everything is easier... )
PHP
1
2
3
<?php
print_r (array_merge ( $array ) );
?>
1
 Аватар для SpartakusMd
22 / 22 / 9
Регистрация: 29.03.2010
Сообщений: 173
17.10.2010, 16:28  [ТС]
Мне нужно чтоб многомерный масив стал одномерным, чтоб не имел другие масивы в себе.
П.С. romchiksoad, первый код даёт ошибки! array_merge принимает как параметр только масив.
0
 Аватар для Vovan-VE
13210 / 6599 / 1041
Регистрация: 10.01.2008
Сообщений: 15,069
17.10.2010, 16:48
Не проверял. Главное - идея
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
class Array2Linear {
    protected $result = array();
    protected function __construct($array) {
        array_walk_recursive($array, array($this, 'Callback'));
    }
    public function Callback($value, $key) {
        $this->result[] = $value;
    }
    public static function Convert($array) {
        $A = new self($array);
        return $A->result;
    }
}
 
$source = array("az", 123, array("da", array(4), 5), 1,array("az", 123, array(array("az", 123, array("da", array(4), 5), 1),"da", array(4), 5), 1));
$result = Array2Linear::Convert($source);
2
 Аватар для SpartakusMd
22 / 22 / 9
Регистрация: 29.03.2010
Сообщений: 173
17.10.2010, 16:53  [ТС]
Vovan-VE, Спасибо но как зделать чтоб ключи оставались если возможно?
Array ( [0] => az [1] => 123 [2] => da [3] => 4 [4] => 5 [5] => 1 [6] => az [7] => 123 [8] => az [9] => 123 [10] => da [11] => 4 [12] => 5 [13] => 1 [14] => da [15] => 4 [16] => 5 [17] => 1 )
то что надо но без ключей.
0
 Аватар для Vovan-VE
13210 / 6599 / 1041
Регистрация: 10.01.2008
Сообщений: 15,069
17.10.2010, 17:08
SpartakusMd, В метод Callback передается и $key. Вот только чтО с ним делать? Они же могут повторяться из вложенных массивов.
PHP
1
2
3
4
5
6
7
8
9
10
11
12
array(
  10 => 42,
  array(
    10 => 42,
  ),
  array(
    10 => 42,
    array(
      10 => 42,
    ),
  ),
)
На выхлопе получится 4 раза 10=>42
0
 Аватар для SpartakusMd
22 / 22 / 9
Регистрация: 29.03.2010
Сообщений: 173
17.10.2010, 17:34  [ТС]
Это верно, но если я знаю что они не повторяютя?
0
 Аватар для Vovan-VE
13210 / 6599 / 1041
Регистрация: 10.01.2008
Сообщений: 15,069
17.10.2010, 17:37
Цитата Сообщение от SpartakusMd Посмотреть сообщение
Это верно, но если я знаю что они не повторяютя?
Тогда в 7й строке в методе Callback исправьте
PHP
1
$this->result[$key] = $value;
1
 Аватар для SpartakusMd
22 / 22 / 9
Регистрация: 29.03.2010
Сообщений: 173
17.10.2010, 18:56  [ТС]
Vovan-VE, Спасибо, пробовал и значения с одинокими ключами переписываются.
0
 Аватар для romchiksoad
1957 / 796 / 89
Регистрация: 03.11.2009
Сообщений: 3,066
Записей в блоге: 2
17.10.2010, 21:26
SpartakusMd, я уже в курсе....
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
17.10.2010, 21:26
Помогаю со студенческими работами здесь

Preg_match array
Здравствуйте, как в preg_match использовать массив Надо сделать что-то типо такого,

POST + ARRAY
print_r($_POST); -- работает echo $_POST; -- работает print_r($_POST); -- не работает. Переменная точно есть. В ней имя чекбокса. ...

Сравнение array
Есть array данных и данные нужно сравнить и вывести эти данные . $MyDate = explode(&quot;,&quot;,&quot;1,2&quot;); $grif = array ( ...

Foreach array
$html_product = file_get_html($links); $links_product = array(); foreach($html_product-&gt;find('#content') as $a_product) { ...

Implode array
Добрый вечер Не знаю как реализовать как мне требуется. Подскажите пожалуйста Есть такой код $links_product = ''; ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
12
Ответ Создать тему
Новые блоги и статьи
Вывод текста со шрифтом TTF на Android с помощью библиотеки SDL3_ttf
8Observer8 25.01.2026
Содержание блога Если у вас не установлены Android SDK, NDK сделайте это, JDK, то сделайте это по следующей инструкции: Установка Android SDK, NDK, JDK, CMake и т. д. Перейдите по ссылке:. . .
Использование SDL3-callbacks вместо функции main() на Android, Desktop и WebAssembly
8Observer8 24.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
моя боль
iceja 24.01.2026
Выложила интерполяцию кубическими сплайнами www. iceja. net REST сервисы временно не работают, только через Web. Написала за 56 рабочих часов этот сайт с нуля. При помощи perplexity. ai PRO , при. . .
Модель сукцессии микоризы
anaschu 24.01.2026
Решили писать научную статью с неким РОманом
http://iceja.net/ математические сервисы
iceja 20.01.2026
Обновила свой сайт http:/ / iceja. net/ , приделала Fast Fourier Transform экстраполяцию сигналов. Однако предсказывает далеко не каждый сигнал (см ограничения http:/ / iceja. net/ fourier/ docs ). Также. . .
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма). На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ * Дана цепь(не выше 3-го порядка) постоянного тока с элементами R, L, C, k(ключ), U, E, J. Программа находит переходные токи и напряжения на элементах схемы классическим методом(1 и 2 з-ны. . .
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым. Но восстановить их можно так. Для этого понадобится консольная утилита. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru