0

在评估数组数据以过滤某些内容时,我遇到了一些麻烦。我正在向模板发送一个包含少量数字的数组(例如 1、4、5、10、12、14、20),然后我想过滤它是否具有特定值。

假设我想知道它是否将“2”作为单个值。最好的方法是什么?

我正在使用 (strpos ($array, '2') !== false) 但后来我注意到它检查 2 是否在数组内,而不是它是否只是 '2',所以它返回 true。

我需要能够评估“2”是否被指定为“2”,而不是它是否在数组字符串上(如在“20”或“12”上)。

PS:虽然使用 xenforo(zend),但是任何关于 php 的答案都应该足够了。

希望能帮到你,谢谢!

4

2 回答 2

1

如果你想知道值是否在数组中:

in_array($needle, $haystack)

如果要获取具有给定值的所有值:

array_filter($haystack, $filteringFunction)

于 2017-05-08T00:30:43.933 回答
0

我是笨蛋,谢谢。

让我们切换到评估一个字符串(刚刚检查过,它被读取为字符串而不是数组)。

如果我有 $string ("9, 1, 2, 20, 14") 并且我想评估它,如果 '2' 是字符串的一部分,则为“2”(同样,20 中的 2 无效) .

有什么方法可以做到不爆炸吗?(不能在 XF 模板中使用)。

对不起,我错了。

问候

于 2017-05-08T00:44:38.470 回答