Найти точное положение слова в строке

Скажем, у меня есть строка.

$string = red,green,blue,yellow,black; 

Теперь у меня есть переменная, которая является позицией слова, которое я ищу.

 $key = 2; 

Я хочу получить слово с позицией 2. В этом случае ответ будет blue .

Solutions Collecting From Web of "Найти точное положение слова в строке"

http://codepad.org/LA35KzEZ

 $a = explode( ',', $string ); echo $a[ $key ]; 

Лучшим способом решить эту проблему было бы преобразование строки в массив с помощью метода explode ().

 $string = ...; $string_arr = explode(",", $string); //Then to find the string in 2nd position echo $string_arr[1]; //This is given by n-1 when n is the position you want. 
 <?php $string = preg_split( '/[\s,]+/', $str ); echo $string[$key]; 

Это работает, разбивая предложение на слова, основанные на границах слов (пробелы, запятые, периоды и т. Д.). Он более гибкий, чем explode() , если только вы не работаете с строками с разделителями-запятыми.

Например, если str = 'Привет, меня зовут собака. Как вы? ', И $key = 5, вы получите «Как».

Если вы знаете, что ваши слова будут разделены запятыми, вы можете сделать что-то вроде:

 $key = 2; $string = "red,green,blue,yellow,black"; $arr = explode(",",$string); echo $arr[$key]; 

Данный:

 $string = 'red,green,blue,yellow,black'; $key = 2; 

Затем (<PHP 5.4):

 $string_array = explode(',', $string); $word = $string_array[$key]; 

Тогда (> = PHP 5.4):

 $word = explode(',', $string)[$key];