두 번째 문자열 PHP에서 첫 번째 문자열의 문자를 확인할 때 출력이 일치하지 않습니다.

그린 555

첫 번째 문자열의 모든 ( $str1) 문자가 두 번째 문자열 ( $str2) 에 있는지 확인하려고합니다 . 의 모든 $str1문자가에있는 $str2경우 "Bingo!"를 표시해야하며 그렇지 않은 경우 "Nope :("을 표시해야합니다.

문제에 직면 : 일부 예제에서는 내 코드가 올바르게 작동하지만 전부는 아닙니다. 예를 들어,$str1$str2 = "jenny"이면 코드가 대신 "Bingo!"를 표시해야 할 때 "Nope :("를 표시합니다.

도움이 필요합니다 . 코드가 어디에서 잘못되었는지, 왜 이런 일이 발생하는지 파악하는 데 도움이 필요합니다. 제안 된 수정 사항을 깊이 감사하겠습니다.

이것은 자체 제출 PHP 스크립트입니다. $str1모두에 대한 입력 유형 $str2은 "텍스트"입니다.

<?php

if(!empty($_POST["send"])){ //so that code executes when submit button with the name "send" is clicked

$str1 = $_POST["str1"];
$str2 = $_POST["str2"];
$ch_check = [];

for($i = 0; $i <strlen($str1); $i++){
    $ch = $str1[$i];
    for($j = 0; $j <strlen($str2); $j++){
        if($ch == $str2[$j]){
            $ch_check[] = $ch;
        }
    }
}

//echo "<pre>";
//var_dump($ch_check);
//echo "</pre>";

if(count($ch_check) == strlen($str1)){
    echo "Bingo!";
}else{
    echo "Nope :(";
}
}
?>
존 콘드

값을 확인하면 $ch_check6 자 배열이 표시됩니다. 결과적으로 크기는 "text"의 문자열 길이 인 4와 같지 않은 6입니다. 이것은 문자 "t"가 원래 문자열에서 두 번 발생하여 두 번 일치하기 때문에 발생합니다. "t"를 "c"로 변경하면 코드가 작동합니다 .

이것은 break일단 일치가 이루어지면 루프에서 나가면 쉽게 고칠 수 있습니다 .

if($ch == $str2[$j]){
    $ch_check[] = $ch;
    break;
}

데모

이를 수행하는 또 다른 방법은 두 문자열의 모든 고유 문자를 가져 와서 공통된 문자를 찾은 다음 $str1.

$str1 = 'text';
$str2 = 'text';

$str1chars = array_unique(str_split($str1));
$str2chars = array_unique(str_split($str2));
$matches = array_intersect($str1chars, $str2chars);

if(count($str1chars) === count($matches)){
    echo "Bingo!";
}else{
    echo "Nope :(";
}

데모

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

java for loop 첫 번째 문자열의 첫 번째 문자 다음 두 번째 문자열의 마지막 문자

분류에서Dev

C ++에서 '+'로 문자열을 연결할 때 연결하지 않고 문자열의 첫 번째 문자를 제거하는 이유

분류에서Dev

첫 번째와 마지막 문자를 확인할 때 Python 문자열 문제

분류에서Dev

첫 번째 열의 특정 문자열과 일치하는 외부 파일을 읽고 PHP에서 두 번째 열의 각 문자열을 반환합니다.

분류에서Dev

문자열이 비워 질 때까지 문자열의 첫 번째 문자를 가져옵니다. ""

분류에서Dev

Ruby에서 두 문자열 사이의 첫 번째 다른 문자 찾기

분류에서Dev

재귀를 사용하여 첫 번째 문자열에서 두 번째 문자열의 첫 번째 발생 인덱스 가져 오기

분류에서Dev

재귀를 사용하여 첫 번째 문자열에서 두 번째 문자열의 첫 번째 발생 인덱스 가져 오기

분류에서Dev

공백 (\ s +)으로 분할 할 때 첫 번째 결과 문자열의 첫 번째 인덱스에는 빈 0 번째 문자가 있습니다.

분류에서Dev

배열의 첫 번째 인덱스에서 첫 번째 문자를 제거 하시겠습니까?

분류에서Dev

두 번째 바늘이 첫 번째 바늘 뒤에 오는 두 개의 다른 문자열 사이의 MySQL 하위 문자열

분류에서Dev

Pandas Dataframe의 문자열에서 첫 번째 숫자 / 문자의 인덱스 / 위치를 반환합니다.

분류에서Dev

c #-텍스트 상자 안의 문자열을 콜론으로 분할하고 첫 번째 문자열과 두 번째 문자열을 가져옵니다.

분류에서Dev

Javascript에서 두 문자열 사이의 첫 번째 문자열 가져 오기

분류에서Dev

JavaScript substr 대 첫 번째 문자에서 시작할 때 하위 문자열

분류에서Dev

데이터의 열 (첫 번째 열 제외)에 문자열이 나타나는지 확인합니다.

분류에서Dev

첫 번째 문자가 각 문자열에서 동일한 경우 배열의 각 문자열에서 첫 번째 문자를 제거합니다.

분류에서Dev

두 번째 문자열에서 데이터를 호출 할 수 없습니다.

분류에서Dev

문자열 리터럴의 첫 번째 문자를 char 배열에 할당하면 전체 문자열 리터럴이 할당됩니다.

분류에서Dev

두 문자열을 취하고 첫 번째 문자열이 두 번째 문자열 내에서 하위 문자열로 발생하는지 여부를 나타내는 부울을 반환하는 정적 메서드를 작성합니다.

분류에서Dev

배열에서 첫 번째 문자를 문자열로, 두 번째 문자를 Int로 필터링 할 수 있습니까?

분류에서Dev

첫 번째 위치를 반환합니다. 두 문자열이 다릅니다.

분류에서Dev

문자의 첫 번째 발생과 다른 문자의 첫 번째 발생 사이에서 문자열을 추출하는 방법은 무엇입니까?

분류에서Dev

두 번째 문자열 일치를 찾을 때까지 문자열과 일치하는 줄의 중간에서 모든 줄을 삭제합니다.

분류에서Dev

다른 문자열에서 지정된 인덱스 이전에 발생하는 문자열의 첫 번째 인덱스를 어떻게 찾습니까?

분류에서Dev

문자열에서 첫 번째로 큰 요소와 두 번째로 큰 요소를 인쇄하려면

분류에서Dev

첫 번째 문자열을 캡처하지 않고 두 문자열 사이의 JavaScript Regexp

분류에서Dev

LINQ를 사용하여 길이가 같은 문자열의 첫 번째와 두 번째 문자 쌍을 얻고 싶습니다.

분류에서Dev

파이썬의 문자열에서 첫 번째 숫자가 나타날 때까지 정규식 일치

Related 관련 기사

  1. 1

    java for loop 첫 번째 문자열의 첫 번째 문자 다음 두 번째 문자열의 마지막 문자

  2. 2

    C ++에서 '+'로 문자열을 연결할 때 연결하지 않고 문자열의 첫 번째 문자를 제거하는 이유

  3. 3

    첫 번째와 마지막 문자를 확인할 때 Python 문자열 문제

  4. 4

    첫 번째 열의 특정 문자열과 일치하는 외부 파일을 읽고 PHP에서 두 번째 열의 각 문자열을 반환합니다.

  5. 5

    문자열이 비워 질 때까지 문자열의 첫 번째 문자를 가져옵니다. ""

  6. 6

    Ruby에서 두 문자열 사이의 첫 번째 다른 문자 찾기

  7. 7

    재귀를 사용하여 첫 번째 문자열에서 두 번째 문자열의 첫 번째 발생 인덱스 가져 오기

  8. 8

    재귀를 사용하여 첫 번째 문자열에서 두 번째 문자열의 첫 번째 발생 인덱스 가져 오기

  9. 9

    공백 (\ s +)으로 분할 할 때 첫 번째 결과 문자열의 첫 번째 인덱스에는 빈 0 번째 문자가 있습니다.

  10. 10

    배열의 첫 번째 인덱스에서 첫 번째 문자를 제거 하시겠습니까?

  11. 11

    두 번째 바늘이 첫 번째 바늘 뒤에 오는 두 개의 다른 문자열 사이의 MySQL 하위 문자열

  12. 12

    Pandas Dataframe의 문자열에서 첫 번째 숫자 / 문자의 인덱스 / 위치를 반환합니다.

  13. 13

    c #-텍스트 상자 안의 문자열을 콜론으로 분할하고 첫 번째 문자열과 두 번째 문자열을 가져옵니다.

  14. 14

    Javascript에서 두 문자열 사이의 첫 번째 문자열 가져 오기

  15. 15

    JavaScript substr 대 첫 번째 문자에서 시작할 때 하위 문자열

  16. 16

    데이터의 열 (첫 번째 열 제외)에 문자열이 나타나는지 확인합니다.

  17. 17

    첫 번째 문자가 각 문자열에서 동일한 경우 배열의 각 문자열에서 첫 번째 문자를 제거합니다.

  18. 18

    두 번째 문자열에서 데이터를 호출 할 수 없습니다.

  19. 19

    문자열 리터럴의 첫 번째 문자를 char 배열에 할당하면 전체 문자열 리터럴이 할당됩니다.

  20. 20

    두 문자열을 취하고 첫 번째 문자열이 두 번째 문자열 내에서 하위 문자열로 발생하는지 여부를 나타내는 부울을 반환하는 정적 메서드를 작성합니다.

  21. 21

    배열에서 첫 번째 문자를 문자열로, 두 번째 문자를 Int로 필터링 할 수 있습니까?

  22. 22

    첫 번째 위치를 반환합니다. 두 문자열이 다릅니다.

  23. 23

    문자의 첫 번째 발생과 다른 문자의 첫 번째 발생 사이에서 문자열을 추출하는 방법은 무엇입니까?

  24. 24

    두 번째 문자열 일치를 찾을 때까지 문자열과 일치하는 줄의 중간에서 모든 줄을 삭제합니다.

  25. 25

    다른 문자열에서 지정된 인덱스 이전에 발생하는 문자열의 첫 번째 인덱스를 어떻게 찾습니까?

  26. 26

    문자열에서 첫 번째로 큰 요소와 두 번째로 큰 요소를 인쇄하려면

  27. 27

    첫 번째 문자열을 캡처하지 않고 두 문자열 사이의 JavaScript Regexp

  28. 28

    LINQ를 사용하여 길이가 같은 문자열의 첫 번째와 두 번째 문자 쌍을 얻고 싶습니다.

  29. 29

    파이썬의 문자열에서 첫 번째 숫자가 나타날 때까지 정규식 일치

뜨겁다태그

보관