Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Форумы портала PHP.SU :: Версия для печати :: Формирование массива
Форумы портала PHP.SU » » Вопросы новичков » Формирование массива

Страниц (1): [1]
 

1. azgalor - 05 Декабря, 2011 - 15:28:59 - перейти к сообщению
Здраствуйте. Тут у меня встала задача, требуется выбрать случайное число между 1 и 4, в зависимости от выпавшего значения выбрать случайные ключи из определенного масива и сформировать из них новый масив.

Подскажите пожалуйста как такое лучше реализовать?
2. EuGen - 05 Декабря, 2011 - 15:56:34 - перейти к сообщению
azgalor пишет:
в зависимости от выпавшего значения

В какой зависимости?

Выбрать число от 1 до 4-х:

http://php.su/functions/?rand
3. Данил_123 - 05 Декабря, 2011 - 16:02:07 - перейти к сообщению
PHP:
скопировать код в буфер обмена
  1. echo rand(1,4); // где 1 минимальное значение, 4 максимальное

Если так нужно с массивом
PHP:
скопировать код в буфер обмена
  1. $arr = array( 1 => 'php', 'тот', 'еще', 'язык');
  2. echo $arr[rand(1,4)];
4. azgalor - 05 Декабря, 2011 - 18:48:09 - перейти к сообщению
CODE (htmlphp):
скопировать код в буфер обмена
  1.  
  2. $random = rand(1, 4);
  3.  
  4. $test_array = array('156' => 1, '254' => 2, '348' =>3, '456' =>4, '597' =>5, '685' =>6, '754' =>7);
  5. $random_array = array_rand($test_array, $random);
  6.  
  7.  


Примерно по такому принципу пока сделал, после отбора нужного количества значений из них нужно сформировать новый массив. Например
CODE (htmlphp):
скопировать код в буфер обмена
  1. $result = array('254'=>2, '456' => 4, '754' => 7)


Вот я и пытаюсь понять как этого можно достичь.

 

Powered by ExBB FM 1.0 RC1