Скажем, у меня есть строка.
$string = red,green,blue,yellow,black; Теперь у меня есть переменная, которая является позицией слова, которое я ищу.
 $key = 2; 
  Я хочу получить слово с позицией 2. В этом случае ответ будет blue . 
 $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];