私は次のような配列を持っています:
$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()が最初の要素として文字を選択せず、2番目/ 3番目の要素として選択しないのはなぜですか(生成された色の99%は11111a 12345c 123456のように見えます)?