사용 ) (의 sprintf를 문자열을 포맷하는 것이 훨씬 깨끗하고 안전합니다.
예를 들어 입력 변수를 처리 할 때는 예상 형식을 미리 지정하여 예기치 않은 놀라움을 방지합니다 (예 : 문자열 [ %s
] 또는 숫자 [ %d
]). 이는 잠재적으로 SQL 삽입 위험에 도움이 될 수 있습니다 있지만 문자열이 따옴표로 구성되어 있으면 막을 수 없습니다.
또한 실수를 처리하는 데 도움이됩니다. 숫자 정밀도를 명시 적으로 지정할 수 있습니다 (예 : %.2f
이되며 변환 기능을 사용하지 못하게하는 .
다른 장점은 대부분의 주요 프로그래밍 언어가 자체 구현되어 있다는 것입니다 sprintf()
되어 있다는 점입니다. 일단 익숙해지면 새로운 언어를 배우는 대신 (문자열을 연결하거나 부동 소수점을 변환하는 방법) 사용하기가 훨씬 더 쉽습니다.
요약하면, 더 깨끗하고 읽기 쉬운 코드를 만들기 위해 사용하는 것이 좋습니다.
예를 들어 아래 실제 예를 참조하십시오 .
$insert .= "('".$tr[0]."','".$tr[0]."','".$tr[0]."','".$tr[0]."'),";
또는 예를 들어 인쇄하는 간단한 예 '1','2','3','4'
:
print "foo: '" . $a . "','" . $b . "'; bar: '" . $c . "','" . $d . "'" . "\n";
포맷 된 문자열로 인쇄 :
printf("foo: '%d','%d'; bar: '%d','%d'\n", $a, $b, $c, $d);
where printf()
는와 동일 sprintf()
하지만 변수로 반환하는 대신 형식이 지정된 문자열을 출력합니다.
더 읽기 쉬운 것은 무엇입니까?