所以我在这里看了一下,但似乎无法做到这一点,所以我被迫发一个新帖子。我付出了努力!不要伤害我。
示例数组:
$ndata = Array
(
[ARMOR_HEAD] => Andariel's Visage
[ARMOR_TORSO] => Blackthorne's Surcoat
[ARMOR_FEET] => Illusory Boots
[ARMOR_HANDS] => Gauntlets of Akkhan
[ARMOR_SHOULDERS] => Pauldrons of Akkhan
[ARMOR_LEGS] => Blackthorne's Jousting Mail
[ARMOR_BRACERS] => Nemesis Bracers
[ARMOR_MAINHAND] => Gyrfalcon's Foote
[ARMOR_OFFHAND] => Jekangbord
[ARMOR_WAIST] => Blackthorne's Notched Belt
[ARMOR_RRING] => Ring of Royal Grandeur
[ARMOR_LRING] => Stone of Jordan
[ARMOR_NECK] => Kymbo's Gold
)
$count = count(preg_grep('Akkhan', $ndata));
print_r($count);
所以这只返回1而不是2.我也尝试array_search()
,但这只是返回第一个找到它的键。或in_array
,但这只是布尔我猜..有没有更好的方法来解决这个问题?
答案 0 :(得分:2)
preg_grep
的第一个参数不是字符串,它是表示为字符串的正则表达式模式。试试这个:
preg_grep('/Akkhan/i', $ndata)
有关详细信息,请参阅preg_grep的文档页面。