В верхнем и следующем PHP 7.1 вы сможете это сделать ( Принято rfc для отрицательных смещений строки ):
Я позволю вам угадать output.
Кроме того, я добавил это в код производительности xenonite с этими результатами:
substr () взял 7.0334868431091seconds
занял 2,3111131191254 секунд
Прямой доступ к строке занял 1.7971360683441 секунд
Просто используйте Array # sample
:
[:foo, :bar].sample # => :foo, or :bar :-)
Он доступен в Ruby 1.9.1+. Чтобы иметь возможность использовать его с более ранней версией Ruby, вы могли потребовать "backports / 1.9.1 / array / sample"
.
Обратите внимание, что в Ruby 1.8.7 он существует под неудачным именем choice
; он был переименован в более поздней версии, поэтому вам не следует его использовать.
Хотя в данном случае это бесполезно, sample
принимает числовой аргумент, если вам нужно несколько отдельных выборок.