2013-10-25 5 views
-3

Вот примеры массиваPHP - StrPos не работает

$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++; 
    } 
} 

Он не показывает ничего, результатов нет.

+1

Каковы результаты и каков ожидаемый результат? –

+2

Не проверяйте, просто замените. Если ничего не заменить, ничего не произойдет. – deceze

+0

только что обновил вопрос, извините за это – miszczu

ответ

1

Это работает так, как я ожидал бы этого, кроме 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]); 
} 
+0

извините, я пропустил эхо. Дело в том, что я хочу отображать запись только в том случае, если '#' находится в строке. – miszczu

Смежные вопросы