0

如何检查字符串是否已经在数组中,但在检查期间排除该数组的最后一个元素?到目前为止,我正在使用这样的解决方法unset()和重新声明:

$fkTableName = $fkTableArr[$colNr0];

unset($fkTableArr[$colNr0]);

if (!in_array($fkTableName, $fkTableArr))
    // do sth

$fkTableArr[$colNr0] = $fkTableName;

但这对我来说似乎是多余的。

4

2 回答 2

3

用于array_slice()对数组进行切片并使用它。下面的代码不包括数组中的最后一个元素。

array_slice($input, -1);

所以你的代码变成:

$fkTableName = $fkTableArr[$colNr0];

if (!in_array($fkTableName, array_slice($fkTableArr, -1)))
    // do sth
于 2013-10-23T16:05:27.233 回答
1

如果你不想影响数组,试试这个:

if (in_array($fkTableName, $fkTableArr) && $fkTableName != end($fkTableArr)) {
  // element in array, but not last item
}
于 2013-10-23T16:08:15.773 回答