Если мы говорим об отмене действия str_shuffle, то это невозможно, несмотря на то, что в документации php говорится: «Эта функция не генерирует криптографически безопасные значения».Обратный алгоритм rand, используемый в str_shuffle, является нетривиальной криптографической задачей.
Но давайте фантазируем.Предположим, что если у нас есть словарь, то мы можем сделать это:
<?php
$list = array('apple', 'popcorn', 'banana');
$shuffle = str_shuffle("popcorn");
$letters = count_chars($shuffle,1);
foreach ($list as $word) {
if ($letters == count_chars($word,1))
echo "$word\n";
}
DEMO