-5

假设我有一个字符串。

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

现在我有一个变量,它是我正在搜索的单词的位置。

$key = 2;

我想得到位置为 2 的单词。在这种情况下,答案是blue

4

5 回答 5

7

http://codepad.org/LA35KzEZ

$a = explode( ',', $string );
echo $a[ $key ];
于 2012-07-09T15:59:06.013 回答
1

解决此问题的更好方法是使用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.
于 2012-07-09T15:59:46.187 回答
1
<?php
$string = preg_split( '/[\s,]+/', $str );

echo $string[$key];

这是通过根据单词边界(空格、逗号、句点等)将句子拆分为单词来实现的。它比 更灵活explode(),除非您只使用逗号分隔的字符串。

例如,如果str= '你好,我的名字是狗。你好吗?',并且$key= 5,你会得到'怎么样'。

于 2012-07-09T16:04:11.350 回答
0

鉴于:

$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];
于 2012-07-09T15:59:45.953 回答
0

如果您知道您的单词将用逗号分隔,您可以执行以下操作:

$key = 2;
$string = "red,green,blue,yellow,black";
$arr = explode(",",$string);
echo $arr[$key];
于 2012-07-09T16:01:55.797 回答