Suj*_*wal 5 php sorting shuffle
下面这段代码用于创建一个多级数组,打印它,然后将其洗牌,再打印它,并对数组进行排序.
$arr=array(
array(
array('a','b','c')
),
array(
array('d','e','f')
),
array(
array('g','h','i')
),
);
print_r($arr);
shuffle($arr);
print_r($arr);
sort($arr);
print_r($arr);
Run Code Online (Sandbox Code Playgroud)
现在我观察到奇怪的事情,当shuffle()它被使用时,它只会改变正在被洗牌的数组的索引,它不会随机播放,内部最多的元素转换a,b,c为其他东西,但是当使用该sort()函数时,它会对数组进行排序进入正常状态,叶节点返回字母顺序.为什么会这样?
以下是示例输出: *原始数组*
Array
(
[0] => Array
(
[0] => Array
(
[0] => a
[1] => b
[2] => c
)
)
[1] => Array
(
[0] => Array
(
[0] => d
[1] => e
[2] => f
)
)
[2] => Array
(
[0] => Array
(
[0] => g
[1] => h
[2] => i
)
)
)
Run Code Online (Sandbox Code Playgroud)
随机数组
Array
(
[0] => Array
(
[0] => Array
(
[0] => g
[1] => h
[2] => i
)
)
[1] => Array
(
[0] => Array
(
[0] => a
[1] => b
[2] => c
)
)
[2] => Array
(
[0] => Array
(
[0] => d
[1] => e
[2] => f
)
)
)
Run Code Online (Sandbox Code Playgroud)
排序数组
Array
(
[0] => Array
(
[0] => Array
(
[0] => a
[1] => b
[2] => c
)
)
[1] => Array
(
[0] => Array
(
[0] => d
[1] => e
[2] => f
)
)
[2] => Array
(
[0] => Array
(
[0] => g
[1] => h
[2] => i
)
)
)
Run Code Online (Sandbox Code Playgroud)