php in_array,包含“&”字符串在PHP中的“空间”

时间:2011-11-07 11:15:29

标签: php

我有一个像:

这样的数组
$array = array('a & b' => 'A & B', 'c & d'=>'C & D');

$string = 'a & b';

当我in_array(ucwords($string),$array)时,我得到了错误 如果我做array_key_exists($string, $array)我也会错误

任何想法? 感谢

更新:似乎我收集$ string的方式是问题所在(使用fuelphp Uri :: Segment(3))虽然在视觉上收集的字符串看起来相同但由于某种原因它不是。感谢您的快速输入

2 个答案:

答案 0 :(得分:1)

您的$array实际上不是数组吗?

$array = array('a & b' => 'A & B', 'c & d' => 'C & D');

而不是:

$array = ('a & b' => 'A & B', 'c & d' => 'C & D');

答案 1 :(得分:1)

它可以像我期待的那样工作:http://codepad.org/U1WtWiGe

您的代码存在的问题是您错过了数组前面的array关键字,因此它不会是数组。

$array = array('a & b' => 'A & B', 'c & d' => 'C & D');
         ^^^^^

在旁注中我有点惊讶你甚至设法让它运行,因为你会得到你提供的代码的解析错误。