【发布时间】:2014-05-22 02:56:53
【问题描述】:
我有一个表单,有人会输入“xbrand tv”作为一个真实的例子,比如说“sony tv”,然后我使用 post 方法将数据传递到下一页。
我正在使用 in_array 来正确引导结果。下面的代码设置方式,如果有人输入“sony TV”,就会显示else语句。
$product_add = $_POST['syd'];
$pa = strtolower($product_add);
$tv= array('sony tv', 'vizio tv', 'panasonic tv', 'lg tv', 'samsung tv', 'phillips tv', 'sharp tv', 'dynex tv', 'toshiba tv');
if (in_array($pa, $tv))
{
//do stuff
}
else {
// do something else
}
显然我可以将“索尼电视”添加到阵列中,但我觉得必须有一种更有效的方法来做到这一点。
我想让我的 $tv 数组看起来像这样:
$tv= array('sony', 'vizio', 'panasonic', 'lg', 'samsung', 'phillips', 'sharp', 'dynex', 'toshiba');
如果“sony tv”或“sony TV”以初始形式输入,则它会与初始 if 语句一致。那可能吗?如果是这样,我应该怎么做?
【问题讨论】:
-
有很多方法可以解决它。遍历品牌数组并检查是否在输入中找到每个品牌而不是完全匹配。
-
我将问题更新为更具体,但基本上不是在数组中有“索尼电视”和“索尼电视”,我只想有“索尼”@marty
-
是的,因此您使用输入的短语,即“索尼电视”,遍历品牌列表,并检查输入的短语中是否存在每个品牌名称。