Мой вопрос может звучать глупо, но я знаю, что это можно сделать. Я на самом деле пытаюсь сделать массив из mysql отличным от массива, который у меня есть shuffle
. Я хочу сохранить ключи массива, просто значение в другом порядке.2 разных массива с различными значениями
Вот пример,
Массив из MYSQL:
Array
(
[0] => 1
[1] => 2
[2] => 3
[3] => 4
[4] => 5
[5] => 6
[6] => 7
[7] => 8
)
Массив после shuffle
:
Array
(
[0] => 3
[1] => 7
[2] => 8
[3] => 4
[4] => 1
[5] => 2
[6] => 5
[7] => 6
)
Если вы заметили, MYSQL array
ключ 3 имеет то же значение как shuffle array
, я хочу, чтобы это было diff различны. Как я могу это сделать?
Вот мой код:
function get_random_elements($array) {
$ori_array = $array;
echo "<pre>";
print_r($ori_array);
echo "</pre>";
shuffle($array);
echo "<pre>";
print_r($array);
echo "</pre>";
for($x=0; $x<count($array); $x++) {
if ($array[$x] == $ori_array[$x])
{
$dupliarray[] = "Array value: ".$array[$x]." Key :".$x;
unset($array[$x]);
}
}
echo "<pre>";
print_r($dupliarray);
echo "</pre>";
}
$mysql_array = array(0=>'1',1=>'2',2=>'3',3=>'4',4=>'5',5=>'6',6=>'7',7=>'8');
get_random_elements($mysql_array);
Вызывает функцию 'get_random_elements' рекурсивно u ntil (который является count ($ dupliarray) равен 0), вы получаете совершенно другой массив из исходного массива. – Naga
@Naga Хм ... правда, но как я могу назвать рекурсивно? – MuthaFury