php выбрать X элементов из набора? - PullRequest
1 голос
/ 21 декабря 2010

Я использую воспламенитель кода для извлечения данных из базы данных

Возвращается массив объектов

что-то вроде

array(
  [0] = {
    mobile => '027xxxxxx',
    id     => 1
  },
  [1] = {
    mobile => '027xxxxxx',
    id     => 4
  },
  [2] = {
    mobile => '027xxxxxx',
    id     => 5
  },
  [3] = {
    mobile => '027xxxxxx',
    id     => 7
  },
  [4] = {
    mobile => '027xxxxxx',
    id     => 9
  },
  [5] = {
    mobile => '027xxxxxx',
    id     => 10
  },
  [6] = {
    mobile => '027xxxxxx',
    id     => 112
  },
  [7] = {
    mobile => '027xxxxxx',
    id     => 113
  }
)

У меня есть переменная count, это содержит произвольное число (хотя всегда меньше, чем количество объектов в массиве).

Мой вопрос:

Скажи count = 3, Как бы я получить массив из 3 случайныхидентификаторы из объекта?

что-то вроде array(4, 9, 1)

Я хочу получить один идентификатор только один раз

, поэтому array(4, 4, 9) будет неправильным.

Обратите внимание, что идентификаторы не являются линейными.

1 Ответ

4 голосов
/ 21 декабря 2010
$random_keys = array_rand(array_keys($your_array), 3);

array_rand

объяснить -

  • array_keys возвращает ключ только из исходного массива
  • array_rand будет выбирать случайным образом без повторяемости
  • и возвращаемый массив содержит ключ к вашему исходному массиву
  • чтобы вы могли получить любую информацию из исходного массива
...