如何检查字符串是否已经在数组中,但在检查期间排除该数组的最后一个元素?到目前为止,我正在使用这样的解决方法unset()
和重新声明:
$fkTableName = $fkTableArr[$colNr0];
unset($fkTableArr[$colNr0]);
if (!in_array($fkTableName, $fkTableArr))
// do sth
$fkTableArr[$colNr0] = $fkTableName;
但这对我来说似乎是多余的。
用于array_slice()
对数组进行切片并使用它。下面的代码不包括数组中的最后一个元素。
array_slice($input, -1);
所以你的代码变成:
$fkTableName = $fkTableArr[$colNr0];
if (!in_array($fkTableName, array_slice($fkTableArr, -1)))
// do sth
如果你不想影响数组,试试这个:
if (in_array($fkTableName, $fkTableArr) && $fkTableName != end($fkTableArr)) {
// element in array, but not last item
}