2 回答
TA贡献1812条经验 获得超5个赞
stripos 可能返回 0 或 false。如果您正在搜索的字符串位于搜索字符串的开头,它将返回 0。如果您在 if 语句中使用它,它将评估为 false。要解决此问题,请使用===.
$value = ['_formtoken','expiry','version','pan','expiry','purchAmount','_formtoken','pan'];
$added = null;
for($i=0;$i<count($value);$i++){
$pos = stripos($added, $value[$i]);
if ( $pos === false) {
echo $value[$i] . ' => Not exists in <br>' . "\n";
$added .= $value[$i];
}
else {
echo $value[$i] . ' => already exists <br>'."\n";
}
}
当我运行它时,这是我看到的输出。
_formtoken => Not exists in <br>
expiry => Not exists in <br>
version => Not exists in <br>
pan => Not exists in <br>
expiry => already exists <br>
purchAmount => Not exists in <br>
_formtoken => already exists <br>
pan => already exists <br>
TA贡献1943条经验 获得超7个赞
看起来好像您正在尝试为数组中的每个唯一值创建一个字符串,对吗?如果是这样,试试这个,它更干净:
$inputArray = ['_formtoken', 'expiry', 'version', 'pan', 'expiry', 'purchAmount', '_formtoken', 'pan'];
// Only keep the first occurrence of each value
$uniqueInputArray = array_unique($inputArray);
// Output the values separated by a single space between each
echo implode(' ', $uniqueInputArray);
或作为单行:
echo implode(' ', array_unique(['_formtoken', 'expiry', 'version', 'pan', 'expiry', 'purchAmount', '_formtoken', 'pan']));
- 2 回答
- 0 关注
- 135 浏览
添加回答
举报