PHP - strpos 不起作用


PHP - strpos doesn't work

下面是数组的示例

$array=array(array('#0kg - 50kg','Questions?','1|2'),
       array('Yes','','3|4'),
       array('#51kg - 100kg','Questions?','5|6'));

这是我用来检查#是否在字符串中的函数:

for ($i=0,$j=0;$i<count($array);$i++) {
  if (strpos($array[$i][0], '#') !== false) {
    echo preg_replace("/#/",'',$array[$i][0]);
    $j++;
  }
}

它没有显示任何东西,没有结果。

这就像我期望的那样工作,除了preg_replace不修改给定的字符串,而是返回新字符串。如果是单个字符str_replace也将满足您的需求。

不要检查,只是更换。如果没有什么可以替换的,什么都不会发生。– @deceze

$array = array(
       array('#0kg - 50kg','Questions?','1|2'),
       array('Yes','','3|4'),
       array('#51kg - 100kg','Questions?','5|6')
);
foreach($array as &$elem) {
    $elem[0] = str_replace('#','',$elem[0]);
}