2016-09-13 2 views
-1

저는 PHP로 보고서를 작성하고 있으며이 언어를 처음 사용합니다.PHP에서 0을 빈 문자열로 바꾸는 방법

나는 preg_replace에 관한 문서를 읽었지만 기대 한대로 작동하지 않습니다.

대신 빈 문자열로 0의 결과를 교체, 그것은 빈 문자열을 가진 모든 결과를 대체
$pattern = 0; 
    $replacement = ' '; 

    $report_output.= ' 
     <td>'.preg_replace($pattern, $replacement, round($row[$win_count])).'</td> 
    '; 

:

여기 내 코드입니다. 라운드는 다음과 같이 잘 작동 : 나는 그것을 주위에 preg_replace이다 넣으면

<td>'.round($row[$win_count]).'</td> 

그것은 단지, 그것은 '쳇, 내가 모든 것을 대체하여야한다'라고. 내가 도대체 ​​뭘 잘못하고있는 겁니까?

+0

대신에 str_replace를 사용해보십시오. 정규식이 필요하지 않습니다. 주어진 문자열의 모든 출현을 바꾸기 만하면됩니다. http://php.net/manual/fr/function.str-replace.php – olibiaz

+0

'0'은 (는) '0'과 동일하지 않습니다. – nogad

+0

해당 구분자는 어디에 있습니까? 이''/^0 $/''을 당신의 패턴으로 사용해보십시오. '^'시작은'$'입니다. 끝은 하나만'0'과 일치합니다. – ArtisticPhoenix

답변

1

대신

$pattern = '/^0$/'; 
$replacement = ' '; 

$report_output.= ' 
    <td>'.preg_replace($pattern, $replacement, round($row[$win_count])).'</td> 
'; 
  • ^ 문자열의 일치의 시작을 의미한다이 시도
  • 0 0
  • $ 일치 하나입니다

그래서 그것을 문자열의 일치의 끝을 의미 '0'와 0으로 시작하는 항목이 하나만 일치합니다. 끝내기는 과 같지 않습니다. 왜냐하면 l이 문자열의 시작이 아니기 때문입니다. 당신이 어떤 0 어디서나 다음 대신

$pattern = '/0/'; 

구분 기호로 이것을 사용하려는 경우

귀하의 질문은 혼란 스럽다.

+0

감사합니다! 이것은 효과가 있었으며, 귀하의 지침에 감사 드리며 혼란 스럽다는 것에 대해 사과드립니다. 나는 원래의 질문을 편집하여 다른 사람들에게 더 명확 해지기를 바랍니다. – nyancat

+0

round에 두 번째 매개 변수가 있다는 것을 알았습니까? 소수 자릿수 인 정밀도는 http://php.net/manual/en/function.round.php – ArtisticPhoenix

관련 문제