php 관련해서 질문드립니다.
본문
$wordlistarr 에는 file() 함수를 통해 가져온 많은 단어들이 있는 array입니다.
$lowerarr에는 제가 $wordlistarr에서 찾고 싶은 단어들이 있는 array입니다.
$tlowerarr은 for loop을 통해 $lowerarr에 있는 단어들을 하나씩 꺼내는 변수입니다.
binary search를 통해서 $wordlist에서 해당 $tlowerarr을 찾고 싶은데 어떤 $lowerarr인지에 따라서 온전히 다 찾을 수 있을때도 있고 아니면 다 찾지 못할경우도 있습니다.
예를 들어, Array ( [0] => abel [1] => able [2] => aebl [3] => aelb [4] => aleb [5] => albe [6] => bael [7] => bale [8] => beal [9] => bela [10] => blea [11] => blae [12] => ebal [13] => ebla [14] => eabl [15] => ealb [16] => elab [17] => elba [18] => lbea [19] => lbae [20] => leba [21] => leab [22] => laeb [23] => labe ) 일때는
$wordlist에서 1. ABEL 2. ABLE 3. BALE 4. BELA 5. ELBA 6. LABE 총 6가지의 단어들이 나와야하는데 저는 1. BELA 만 나옵니다.
제 생각엔 binary search에서 $wordlist의 단어들과 $tlowerarrd의 단어의 값 비교가 제대로 되지 않고 있는 것 같은데 어떻게 해야하는지 알려주세요.. 예를 들어, "ASCIIs"와 "Abel"의 크기비교를 할 때 strcasecmp()를 사용해도 되는건가요?..
그리고 "ASCIIs" 중에 "Abel" "ASCIIs"의 값이 큰 것이 맞나요? 그렇다면 제가 sort($wordlist)했는데도 $wordlist가 단어들이 오름차순으로 정리가 안됐다는 건데 이건 왜 정렬이 제대로 되지 않는걸까요...
감사합니다.