<?php$roomlist=array('0'=>array('id' => '11'),'1'=>array('id' => '22'),);$rand_keys = array_rand($roomlist, 1);var_dump($rand_keys);echo gettype($rand_keys);echo ("\n");echo ("\n");$rand_keys = array_rand($roomlist, 2);var_dump($rand_keys);echo gettype($rand_keys);?>
キーを返すだけのようです
array_rand() 関数は配列内のランダムなキー名を返します。または、関数が複数のキー名を返すように指定した場合、ランダムなキー名を返します。
<?php$roomlist=array('0'=>array('id' => '11'),);$array_size = count($roomlist)$rand_keys = array_rand($roomlist, $array_size); //size为1时,返回为integer,size>=2时,返回的是array,下面的操作无法统一var_dump($rand_keys);echo gettype($rand_keys);echo ("\n");echo ("\n"); $val = $roomlist[$rand_keys[0]];
はキーを返すだけのようです。 C++ では、返される配列は配列です。 return integer 返されるのは整数であり、関数のパラメータが変化しても変化しません。 。
不一致には特別な処理が必要です。 。そして、それは不合理です、1 つの関数には 2 つの戻り値の型があります。 。 。私のテストを参照してください。
2 番目のパラメータは、選択する要素の数を決定するために使用されます。複数の要素が選択された場合は、ランダムなキーを含む配列が返され、それ以外の場合は要素のキーが返されます。
マニュアルが理解できない場合、またはマニュアルの説明に疑問がある場合。そうなると、神々も助けてはくれない
マニュアルには明確に書かれています:
------
戻り値:
バグはバグです。 。
スクリプト言語は素晴らしいです。 。 。 。 。ラララララララララ
C++ の人は理解できません、理解できません ララララ
上の階の答えに加えて、わかりませんか私は初心者なので、正しく/適切な説明が得られない場合は投稿しません。 。 。 。 。 。 。 。 。 。
公式 Web サイトに記載されている内容を見つけました
http://php.net/manual/zh/function.array-rand.php
後ほど 私のような初心者向けに、これは php の公式マニュアルです