如何检查字符串是否已在数组中,但在检查期间是否排除该数组的最后一个元素?到目前为止,我正在使用unset()
的解决方法并重新声明如下:
$fkTableName = $fkTableArr[$colNr0];
unset($fkTableArr[$colNr0]);
if (!in_array($fkTableName, $fkTableArr))
// do sth
$fkTableArr[$colNr0] = $fkTableName;
但对我来说这似乎是多余的。
答案 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
}