我有一个数组,例如:
$hex = array("0","1","2","3","4","5","6","7","8","9","a","b","c","d","e","f");
我想将 6 个随机元素作为字符串返回(例如 1a3564):
$random_color = array_rand($hex,6);
我认为内爆 $random_color 可以解决问题:
echo implode($random_color);
但是 array_rand() 存储元素在父数组中的位置,而不是这个数组元素,所以我得到类似:
259111213
而不是259bcd
.
我知道这正是我想要的:
echo $hex[$random_color[0]];
echo $hex[$random_color[1]];
echo $hex[$random_color[2]];
echo $hex[$random_color[3]];
echo $hex[$random_color[4]];
echo $hex[$random_color[5]];
但:
有没有办法在 array_rand() 中存储数组元素?为什么它首先存储元素的位置而不是元素?
做我想要实现的目标的最佳方法是什么?
为什么 array_rand() 从不选择字母作为第一个元素,几乎从不作为第二个/第三个元素(99% 的生成颜色看起来像 11111a 12345c 123456)?