как перемешать такой array

Статус
В этой теме нельзя размещать новые ответы.

jusuf

Бывший модератор
Регистрация
3 Апр 2006
Сообщения
329
Реакции
206
как перемешать такой array?

Для просмотра ссылки Войди или Зарегистрируйся

Нужна перемешать audio.
shuffle(); - не срабатывает видно и за многомерных массивов
 
Не всё так просто с объектами:
- можно преобразовать весь объект в массив рекурсивно;
- можно создать дополнительный массив с перемешанными id (если внутренний аудио всегда с нуля нумеруется и +1 каждый последующий);

1й вариант банальный и очень легко гуглится :)
2й более интересен:

PHP:
$cache=simplexml_load_string($cache_content);


$shuffle_index = range(0, count($cache->audio) - 1);
shuffle($shuffle_index);

foreach ($shuffle_index as $key) {
  print_r($cache->audio[$key]);
}
 
1й вариант банальный и очень легко гуглится :)
вот Killdead мне и прислал первый вариант :)
PHP:
function object2array($object) { return @json_decode(@json_encode($object),1); }
$cache=simplexml_load_string($cache_content);
$cache = object2array($cache);

shuffle($cache['audio']);

echo('<pre>');
print_r( $cache);
echo('</pre>');

Проблема решена можно закрывать тему
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху