以下代码输出would
,我们希望它输出12/5/10
。原因是array_search
仅适用于关联数组,而explode
会返回无键数组,因此$k
为false
且$k+1
为1
$s = 'We would like to book a double room form 12/5/10 for three nights.';
$s_arr = explode(' ', $s);
$k = array_search('from', $s_arr);
$from = $s_arr[$k+1];
echo $from;
我们可以使用像这样的文字定义来验证这一点
$s_arr = array(
0 => 'We',
1 => 'would',
2 => 'like',
3 => 'to',
4 => 'book',
5 => 'a',
6 => 'double',
7 => 'room',
8 => 'form',
9 => '12/5/10',
10=> 'for',
11=> 'three',
12=> 'nights.');
$k = array_search('from', $s_arr);
$from = $s_arr[$k+1];
echo $from;
这次正确的值是12/5/10
。
有没有办法将无键数组转换为关联数组?
答案 0 :(得分:4)
我会说这样做是因为你在爆炸的原始字符串中拼错了“from”。