내가 문자열의 하위 문자열이 발생 횟수를 계산 할 수있는 함수를 작성하고 싶습니다 나 strlen + SUBSTR + strpos를 사용하여 문자열의 하위 문자열이 발생 횟수를 계산하는 것은, ONLY + SUBSTR + strpos를 나 strlen 사용 PHP에서. substr_count
를 사용하지 않고만 PHP
!
예 : fn('iwritecodeiwritecode-','i');
덕분에 앞서
내가 문자열의 하위 문자열이 발생 횟수를 계산 할 수있는 함수를 작성하고 싶습니다 나 strlen + SUBSTR + strpos를 사용하여 문자열의 하위 문자열이 발생 횟수를 계산하는 것은, ONLY + SUBSTR + strpos를 나 strlen 사용 PHP에서. substr_count
를 사용하지 않고만 PHP
!
예 : fn('iwritecodeiwritecode-','i');
덕분에 앞서
function fn($string, $char){
$count=0;
for($i=0; $i<strlen($string);$i++){
if($string[$i] == $char){
$count++;
}
}
print($count);
}
fn('iwritecodeiwritecode-','i');
나는 희망이 건배를하는 데 도움이!
누군가의 숙제를 축하 드리며, 그것은 정말로 당신의 "좋은"이야기입니다. 난 그냥 그/그녀가 그것을보고도 당신을 upvote에 귀찮게하지 않은 사실을 감안할 때 영업 이익도이 당신에게 가상의 인터넷 포인트를주고 귀찮게 것, 궁금해. 숙제 거지는 무시해야하며, 답이 맞으면 고맙게 여기지 않을 사람을 도울 시간을 낭비해야합니다. – Mjh
답변 해 주셔서 감사합니다. 나는 당신이 당신의 코드에 추가해야 할 것이 있다는 것을 알아 차렸다. 즉, 단일 문자에 대해서만 작동합니다. 사용자가 함수에서 두 개 이상의 문자를 전달하면 어떻게 될까요? – Perumal
@Mjh 그런 질문에 대해 의사 코드 나 도움 말을 무엇을 제안합니까?나에게 한가지 더 호의를 베풀고 그와 같은 질문이나 특정 유형의 감사에 대답하지 못하게하는 조건/규칙/조건을 연결해주십시오! – sT0n3
난 내 자신의 최선의 해결책을 마련했습니다.
<?php
$str = "iwritecodeiwritecode";
function find_substr_count($str, $substr) {
$substr_len = strlen($substr);
$substr_count = 0;
for($i = 0; $i < strlen($str); $i++) {
$substr_temp = '';
for($j = $i; $j < $i + $substr_len; $j++) {
if($j < strlen($str)) {
$substr_temp .= $str[$j];
}
}
if($substr_temp == $substr) {
$substr_count += 1;
}
}
return $substr_count;
}
echo find_substr_count($str, "i");
?>
단일 문자에만 사용할 수있는 것은 아닙니다. 당신은 또한 같은 기능에 두 개 이상의 문자를 통과 시도 할 수 있습니다 : 난 내 최선을 준
echo find_substr_count($str, "write");
당신을 도울 수 있습니다.
희망이 있습니다.
이 작업에 대한 strlen()
또는 substr()
필요하지 않습니다.
문자열을 반복 루프로 반복하고 성공한 바늘이있을 때마다 strpos()
의 출력을 앞당겨 성공한 횟수를 계산하십시오.
이 기술의 "마법"은 이전의 strpos()
값 (1을 더한 값)을 모든 후속 strpos()
호출의 시작점으로 사용하고 있습니다.
코드 : (Demo) 미래의 독자들에게
function countSubstrings($haystack,$needle){
$pos=-1; // start at -1 so that first iteration uses $pos of 0 as starting offset
$tally=0;
while(($pos=strpos($haystack,$needle,++$pos))!==false){++$tally;}
return $tally;
}
echo countSubstrings('iwritecodeiwritecodeiwritecode','i'); // 6
echo countSubstrings('iwritecodeiwritecodeiwritecode','Perumal'); // 0
echo countSubstrings('iwritecodeiwritecodeiwritecode','write'); // 3
주의 사항,이 질문은 가장 좋은 방법이 아닙니다. 올바른 방법은 기존 php 함수
substr_count()
을 호출하는 것입니다.echo substr_count('iwritecodeiwritecodeiwritecode','i');
망가 교사는 숙제 – RiggsFolly
의 일부 narly 비트와 함께 올하지만 당신도 아무것도 시도하지 않은 그래서 숙제가 당신을 위해 끝낼 수있는 장소가 아니기 때문에 우리는 도움이되지 수 있습니다. 당신이 무언가를 시도하고 문제가있는 경우, 특정 문제에 대해 특정 질문을하십시오. 우리는 또한 배열로 취급 할 수있는 tryer – RiggsFolly
PHP는 문자열을 도와 이용 약관 기꺼이 이상입니다. –