Кто-нибудь может мне помочь в многомерных массивах? У меня есть массив, который хотел бы иметь случайные массивы внутри него, поэтому его иерархия или индексное значение будет изменено и отличается от исходного расположения массивов, например:
Это оригинальные массивы
Array( [0]=>Array( [title] => 'Title 1' [description] => 'description here' ) [1]=>Array( [title] => 'Title 2' [description] => 'another description here' ) [2]=>Array( [title] => 'Title Here Again' [description] => 'description here again' ) )
Это будет исходная структура массива выше, и если вы производите это, скажите, что это будет результат
Это случайные массивы
Array( [0]=>Array( [title] => 'Title 2' [description] => 'another description here' ) [1]=>Array( [title] => 'Title 3' [description] => 'another description again' ) [2]=>Array( [title] => 'Title 1' [description] => 'description here' ) )
Как вы можете видеть, значения внутри массивов рандомизируются в разных позициях, теперь проблема заключается в том, что я не могу получить точную логику о том, как получить исходный индекс массива, как это, -> ([0]) из рандомизированных массивов. Как и значение «Заголовок 1», его исходный индекс равен [0], а после его случайного ввода он стал [2], но все же я хотел, чтобы «Заголовок 1» был присвоен индексу [0]. Вот короткий PHP-код о том, как я рандомизировал массивы:
foreach (shuffleThis($rss->getItems()) as $item) { foreach($item as $key=>$value){ if($key=='title'){ $title=$value; } if($key=='description'){ $description=$value; } } } function shuffleThis($list) { if (!is_array($list)) return $list; $keys = array_keys($list); shuffle($keys); $random = array(); foreach ($keys as $key) { $random[] = $list[$key]; } return $random; }
Просто хотел получить key
исходного индекса массива от случайного key
.
Благодаря!