检查元素是否在数组中,但是排除数组的最后一个元素?

时间:2013-10-23 16:03:16

标签: php arrays

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

$fkTableName = $fkTableArr[$colNr0];

unset($fkTableArr[$colNr0]);

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

$fkTableArr[$colNr0] = $fkTableName;

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

2 个答案:

答案 0 :(得分:3)

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

array_slice($input, -1);

所以你的代码变成了:

$fkTableName = $fkTableArr[$colNr0];

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

答案 1 :(得分:1)

如果您不想影响数组,请尝试以下方法:

if (in_array($fkTableName, $fkTableArr) && $fkTableName != end($fkTableArr)) {
  // element in array, but not last item
}