Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/291.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php stripos可以';我找不到价值_Php_Php 7 - Fatal编程技术网

Php stripos可以';我找不到价值

Php stripos可以';我找不到价值,php,php-7,Php,Php 7,正如您在输出中看到的,stripos无法捕获_formtoken值,任何人都可以用解决方案向我解释: $value = ['_formtoken','expiry','version','pan','expiry','purchAmount','_formtoken','pan']; for($i=0;$i<count($value);$i++){ if (stripos($added, $value[$i]) == false) { echo $value[$i] .

正如您在输出中看到的,stripos无法捕获_formtoken值,任何人都可以用解决方案向我解释:

$value = ['_formtoken','expiry','version','pan','expiry','purchAmount','_formtoken','pan'];
for($i=0;$i<count($value);$i++){

  if (stripos($added, $value[$i]) == false) { 
      echo $value[$i] . ' => Not exists in <br>';    
      $added .= $value[$i];
  } 
  else { 
          echo $value[$i] . ' => already exists  <br>'; 
  } 

}

看起来好像您正在尝试创建数组中每个唯一值的单个字符串,对吗?如果是这样,试试这个,它更干净:

$inputArray=[''u formtoken','expiry','version','pan','expiry','purchAmount','u formtoken','pan';
//仅保留每个值的第一个匹配项
$uniqueInputArray=array\u unique($inputArray);
//输出每个值之间用单个空格分隔的值
回波内爆(“”,$uniqueInputArray);
或作为一行:

echo内爆('',数组唯一([''formtoken',expire',version',pan',expire',purchAmount',''''formtoken',pan']);

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"; 
  } 
}
$value=['u formtoken','expire','version','pan','expire','purchAmount','u formtoken','pan'];
$added=null;
对于($i=0;$i不存在于
过期=>在
版本=>不存在于
pan=>不存在于
到期日=>已存在
purchAmount=>不存在于
_formtoken=>已存在
pan=>已存在

添加的$added从何而来?只需将值添加到它的空变量Tripos不会检测文本中的值,请测试此代码以查看$value=['''u formtoken','=333&version=2.0&pan=4552945074567017&expiry=2211&purchAmount=150&index=2&description=gent&u formtoken='];用于($i=0;$i您是说stripos不按文档所述工作吗?我运行了您的代码片段。看起来不错。您可以在这里看到:检查此屏幕截图:stripos无法在文本中捕获它。#希望将其用作条件,感谢问题是关于
substr
,而不是如何从数组中的唯一值生成字符串。
$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>