Поскольку я до сих пор не знаком с PHP, я ищу способ узнать, как получить конкретный символ из строки.
Пример:
$word = "master"; $length = strlen($word); $random = rand(1,$length);
Итак, допустим, случайное значение равно 3, тогда я хотел бы узнать, какой символ является третьим, поэтому в этом случае символ «s». Если $ random было 2, я хотел бы знать, что это «а».
Я уверен, что это очень просто, но я пробовал некоторые идеи субстрата почти час, и он всегда терпит неудачу.
Ваша помощь будет принята с благодарностью.
Вы можете использовать substr()
для захвата части строки, начиная с точки и длины. таким образом, пример:
substr('abcde', 1, 1); //returns b
В твоем случае:
$word = "master"; $length = strlen($word) - 1; $random = rand(0,$length); echo substr($word, $random, 1);//echos single char at random pos
Смотрите здесь в действии
Вы можете использовать свою строку так же, как индексный массив на основе 0:
$some_string = "apple"; echo $some_string[2];
Он напечатает 'p'.
или, в вашем случае:
$word = "master"; $length = strlen($word); $random = rand(0,$length-1); echo $word[$random];
Попробуйте это просто:
$word = "master"; $length = strlen($word); $random = rand(0,$length-1); if($word[$random] == 's'){ echo $word[$random]; }
Здесь я использовал 0, потому что $word[0]
равно m
поэтому нам нужно вычесть один из strlen($word)
для получения последнего символа r
Использовать substr
$GetThis = substr($myStr, 5, 5);
Просто используйте одни и те же значения для одного и того же или другого, если вам нужно несколько символов
$word = "master"; $length = strlen($word); $random = rand(0,$length-1); $GetThis = substr($word, $random, $random);
Как отмечалось в моем комментарии (я также забыл), обязательно запустите свой rand
в 0
чтобы включить начало вашей строки, так как m
находится в месте 0
. Если бы мы все упустили из виду, что теперь это было бы не случайным (как случайным?)? 🙂
Вы можете просто использовать $myStr{$random}
для получения n-го символа строки.