Форум программистов, компьютерный форум, киберфорум
PHP для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.60/15: Рейтинг темы: голосов - 15, средняя оценка - 4.60
0 / 0 / 0
Регистрация: 07.11.2014
Сообщений: 75
1

Перемешивания многомерного массива

17.02.2015, 06:09. Показов 2823. Ответов 7
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Здравствуйте, господа!

Перемешать обычный массив просто. А как быть с более сложными? Например:
PHP
1
array('1' => array('1.0', '1.1', '1.2' ...), '2' => array('2.0', '.2.1', '2.2', ...), ...)
Интересует именно перемешивание: array('1.0', '1.1', '1.2' ...) между собой.

P.S. У меня сплошные ошибки, а в доках на офф сайте + на сайтах по php не могу найти хоть простой пример, как реализуется подобная задача, везде что-то типо этого варианта:
PHP
1
2
3
$arr = array(1,2,3,4,...);
$arr = shuffle($arr);
// дальше цикл или просто print_r();
Благодарю!
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
17.02.2015, 06:09
Ответы с готовыми решениями:

Выбор массива из многомерного массива по ключу
$array = array( array( 'id'=>'1', 'value'=>'Значение 1', ), array( ...

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

сотировка многомерного массива
есть массив $arResult - содержащий товары. выглядит так => Array ( =>...

Парсинг многомерного массива
Здравствуйте. Не подскажите как обработать многомерный массив. Имеем: stdClass Object ( ...

7
249 / 249 / 98
Регистрация: 26.07.2010
Сообщений: 1,685
17.02.2015, 10:29 2
PHP
1
2
3
foreach($arr as &$value){
shuffle($value);
}
1
0 / 0 / 0
Регистрация: 07.11.2014
Сообщений: 75
17.02.2015, 16:29  [ТС] 3
V@D!k, этот вариант я уже пробовал... но ничего не получалось((
0
Заблокирован
17.02.2015, 16:33 4
PHP
1
2
3
foreach($arr as $key=>$value){
$arr["$key"] = shuffle($value);
}
1
249 / 249 / 98
Регистрация: 26.07.2010
Сообщений: 1,685
17.02.2015, 16:55 5
Цитата Сообщение от N0Ob Посмотреть сообщение
V@D!k, этот вариант я уже пробовал... но ничего не получалось((
специально только что проверил, все отлично работает, не знаю, что вы там пробовали

Добавлено через 21 секунду
Цитата Сообщение от Trukl Посмотреть сообщение
$arr["$key"] = shuffle($value);
}
[$key]кавычки не надо
1
0 / 0 / 0
Регистрация: 07.11.2014
Сообщений: 75
17.02.2015, 17:23  [ТС] 6
Trukl, V@D!k, выводится только 11... и так с любым с более сложным массивом...

Я не понимаю одного, как сделать так, чтоб выводилось примерно так:
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
Array
(
    [1] => Array
        (
            [0] => 1.2
            [1] => 1.0
            [2] => 1.1
        )
 
    [2] => Array
        (
            [0] => 2.1
            [1] => 2.0
            [2] => 2.2
        )
 
    [3] => Array
        (
            [0] => 3.2
            [1] => 3.1
            [2] => 3.0
        )
 
)
Т.е. порядок ключ оставалось, а значение менялось:
PHP
1
array('тут не перемешивалось' => array('тут перемешивание'), "тут не перемешивать" => array('тут перемешивание'), ...)

Пробовал использовать двойные циклы, но у меня либо, сплошные ошибки, либо всегда выводит первый ключ, либо не перемешивается...
0
249 / 249 / 98
Регистрация: 26.07.2010
Сообщений: 1,685
17.02.2015, 17:27 7
Лучший ответ Сообщение было отмечено N0Ob как решение

Решение

PHP
1
2
3
4
5
$a = array('1' => array(1.0, 1.1, 1.2 , 1.3), '2' => array('2.0', '.2.1', '2.2'));
var_dump($a);
foreach($a as &$value)
    shuffle($value);
var_dump($a);
не пойму что вы хотите, оно и так перемешивает только внутри вложенных массивов
Миниатюры
Перемешивания многомерного массива  
1
0 / 0 / 0
Регистрация: 07.11.2014
Сообщений: 75
17.02.2015, 17:39  [ТС] 8
V@D!k, Спасибо большое - работает! У меня не получалось((
0
17.02.2015, 17:39
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
17.02.2015, 17:39
Помогаю со студенческими работами здесь

Вывод из многомерного массива
Есть массив: echo '<pre>'.print_r($arBalance, true).'</pre>'; Выводит видом: Array ( ...

Перебор многомерного массива
Доброго времени суток Не получается перебрать массив $mas = array( array( "site"...

Сортировка многомерного массива.
Сортирую массив, только теперь мне не понятно как результаты сортировки вывести в браузер....

Перебор Многомерного массива
Уважаемые помогите перебрать многомерный массив if($qrand1){ ...


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

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru