php array 질문 채택완료
ppysi
5년 전
조회 2,015
이 경우는 잘 작동합니다.
$okey = array('e5aDfd2bnRs', 'zEMt3qViMjk');
$selected = array_rand($okey);
$key=$okey[$selected];</p>
<p>
'e5aDfd2bnRs', 'zEMt3qViMjk' 를 list.txt 에 넣고 아래 코드를 썼을때는 작동하지 않습니다.
</p>
<p>$file = file_get_contents('list.txt');
$okey = array($file);
$selected = array_rand($okey);
$key=$okey[$selected];</p>
<p>
어떻게 해야할까요??
댓글을 작성하려면 로그인이 필요합니다.
답변 5개
채택된 답변
+20 포인트
sinbi
Expert
5년 전
</p>
<p>$file = file_get_contents('list.txt');
$okey = array($file);
$arr_key = explode(',',$okey[0]);
$selected = array_rand($arr_key);
$key=$arr_key[$selected];
echo $key;</p>
<p>
로그인 후 평가할 수 있습니다
답변에 대한 댓글 1개
p
ppysi
5년 전
띄어쓰기 떄문이었네요 감사합니다
댓글을 작성하려면 로그인이 필요합니다.
답변에 대한 댓글 1개
p
ppysi
5년 전
그건 아닙니다
댓글을 작성하려면 로그인이 필요합니다.
sinbi
Expert
5년 전
각 변수를 print_r2 함수로 찍어서 현재 변수의 내용물 확인하며 작업해 보세요.
참고로, $okay 변수 상태입니다.
Array
(
[0] => 'e5aDfd2bnRs', 'zEMt3qViMjk'
)
로그인 후 평가할 수 있습니다
댓글을 작성하려면 로그인이 필요합니다.
답변에 대한 댓글 2개
p
ppysi
5년 전
값을 직접 입력하는거나 같은값을 file get contents로 불러오는거랑 결과가 같아야되는거 아닌가요?
�
쟁반짜장
5년 전
$okey = array('e5aDfd2bnRs', 'zEMt3qViMjk');
배열은 key, value가 짝을 이루어서 구성되어져 있습니다.
위 변수는 0 => 'e5aDfd2bnRs', 1 => 'zEMt3qViMjk' 이렇게 되어 있다고 보시면 됩니다.
file_get_contents 함수는 해당 파일을 문자열로 읽습니다.
결국 첫 번째 $okey는 두 개의 value를 가진 배열이고 두 번째 $okey는 하나의 아주 긴 문자열을 value로 가진 배열입니다.
그래서 두 번째 $okey는 한 번 더 explode 같은 함수로 잘라 주셔야 합니다.
값을 직접 입력하는거나 같은값을 file get contents로 불러오는거랑 결과가 같아야되는거 아닌가요?
결론은 다르다입니다.
0 => 'e5aDfd2bnRs'
1 => 'zEMt3qViMjk'
0 => 'e5aDfd2bnRs, zEMt3qViMjk'
배열은 key, value가 짝을 이루어서 구성되어져 있습니다.
위 변수는 0 => 'e5aDfd2bnRs', 1 => 'zEMt3qViMjk' 이렇게 되어 있다고 보시면 됩니다.
file_get_contents 함수는 해당 파일을 문자열로 읽습니다.
결국 첫 번째 $okey는 두 개의 value를 가진 배열이고 두 번째 $okey는 하나의 아주 긴 문자열을 value로 가진 배열입니다.
그래서 두 번째 $okey는 한 번 더 explode 같은 함수로 잘라 주셔야 합니다.
값을 직접 입력하는거나 같은값을 file get contents로 불러오는거랑 결과가 같아야되는거 아닌가요?
결론은 다르다입니다.
0 => 'e5aDfd2bnRs'
1 => 'zEMt3qViMjk'
0 => 'e5aDfd2bnRs, zEMt3qViMjk'
댓글을 작성하려면 로그인이 필요합니다.
답변을 작성하려면 로그인이 필요합니다.
로그인