|
(광고) 단통법 시대의 인터넷가입 가이드(ver2.0) (234) |
백메가 |
2015-12 |
1787359 |
25 |
2015-12
1787359
1 백메가
|
|
[필독] 처음 오시는 분을 위한 안내 (737) |
정은준1 |
2014-05 |
5262477 |
0 |
2014-05
5262477
1 정은준1
|
89769 |
앱 만들었는데, 보시고 의견주시면~ 적극 반영하겠습니다! (10) |
푸른비가온다 |
2023-08 |
2460 |
0 |
2023-08
2460
1 푸른비가온다
|
89768 |
놋북용 ddr3 메모리 알리에서 수입하려는데.. 호환성문제 물어봤는데요. (10) |
김건우 |
2018-03 |
5889 |
0 |
2018-03
5889
1 김건우
|
89767 |
RAID 구성시 8TB 이상도 GPT에서 되는지요. (4) |
임진욱 |
2010-05 |
10040 |
0 |
2010-05
10040
1 임진욱
|
89766 |
dell r210-ii에 윈도서버2016을 설치했는데 (데이타센타 데스크탑 버젼으로) 화면 … |
김건우 |
2017-01 |
4427 |
0 |
2017-01
4427
1 김건우
|
89765 |
NAT 1gbps 지원하는 좋은 공유기나 스위치가 없으려나요? (14) |
Booraltak |
2016-02 |
7680 |
0 |
2016-02
7680
1 Booraltak
|
89764 |
YUMI – Multiboot USB Creator 사용법 문의 |
chotws |
2016-02 |
8617 |
0 |
2016-02
8617
1 chotws
|
89763 |
최대 해상도 5120*1440 지원하는 VGA 구매에 어려움이 있습니다. (6) |
새총 |
2022-01 |
3059 |
0 |
2022-01
3059
1 새총
|
89762 |
랙서버 소음이 안들려지는 거리??? (12) |
izegtob |
2016-02 |
4783 |
0 |
2016-02
4783
1 izegtob
|
89761 |
[불완전성 정리]에 대해, 제가 이해한 게 맞을까요? (2) |
김영기 |
2018-04 |
3523 |
0 |
2018-04
3523
1 김영기
|
89760 |
휴대폰 업데이트 (13) |
c4066 |
2020-08 |
3019 |
0 |
2020-08
3019
1 c4066
|
89759 |
서버 파워 (2) |
pwater |
2023-09 |
2239 |
0 |
2023-09
2239
1 pwater
|
89758 |
달러값이 계속 올라갈까요? 아님 떨어질까요? (12) |
복실강아지 |
2016-02 |
3903 |
0 |
2016-02
3903
1 복실강아지
|
89757 |
누름스위치 성능이 별로예요...불량인지도 모르지만..꾸우욱..좀 오래 눌려야 신호가… |
박문형 |
2018-04 |
3758 |
0 |
2018-04
3758
1 박문형
|
89756 |
윈도우서버의 엑티브디렉토리 라는것이 리눅스에서는 뭐와 비견될까요? (10) |
일리케 |
2018-04 |
4832 |
0 |
2018-04
4832
1 일리케
|
89755 |
아답터 사용해도 괜찮을까요? (11) |
장태주 |
2010-07 |
7303 |
0 |
2010-07
7303
1 장태주
|
89754 |
메일 서버 관련 문의 (4) |
경박한시민 |
2010-07 |
9534 |
0 |
2010-07
9534
1 경박한시민
|
89753 |
이 케이스에 대해 아시는 분... (1) |
jang |
2016-03 |
3671 |
0 |
2016-03
3671
1 jang
|
89752 |
집사람에게 따뜻한 신발용 전기장판.. (1) |
뚜뚜김대원 |
2014-12 |
4376 |
0 |
2014-12
4376
1 뚜뚜김대원
|
89751 |
욕실 난방? (4) |
서울l승용 |
2014-12 |
6512 |
0 |
2014-12
6512
1 서울l승용
|
89750 |
ip TV 끊김현상 (14) |
사랑하라 |
2019-06 |
10436 |
0 |
2019-06
10436
1 사랑하라
|
case 으로 해서
맞으면 break; 처리...
최종적으로 else 되면 에러처리...ㅎㅎ
case $name1: break;
case $name2: break;
case ($cname==$name3 || preg_match("/$cname\|+/", $name3) ? true : false): break;
default: echo "잘못된 회원정보 입니다.";
}
더 정확하게 고쳤습니다.
case 문에 preg_match를 넣어서 쓰는것은 오늘 구글링해서 처음 해봤습니다.ㅎㅎ
조금 머리에 열이 났지만 재밌네요. ㅎㅎㅎ
https://stackoverflow.com/questions/38830349/preg-match-in-switch-case-in-php?noredirect=1&lq=1
참고한 글입니다.
아니면 $name1 $name2 $name3 을 배열변수에 넣어두고
for 루틴으로 처리해서
처리해서 continue 명령을 사용하는 방법도 있긴 한데...
어떻게 생각하는지요?
함수화 하여 상당히 발전된 개념이네요.
ㅎㅎ 감사합니다.
안전한 조건을 위해 === 까지 사용하셨네요 ... 굿입니다.
----------------------------------
$cname="홍길동마실";
$name1="갑순이";
$name2="에릭갑돌이";
$name3="홍길동마실||23.323.22";
$allow_arr=array($name1, $name2, $name3);
function check_user($check_name, $allow_arr) {
foreach ($allow_arr as $value) {
if ($value === $check_name || preg_match("/^$check_name\|+/", $value) ) return True;
}
return False;
}
if(!check_user($cname, $allow_arr)) echo "not exist!";
https://stackoverflow.com/questions/6433492/preg-match-vs-strpos-for-match-finding
했는데 결국 실패했습니다
이용하시면 되지 않을까요..
$cname = "홍길동마실1";
$name=array();
$name[] = "갑순이";
$name[] = "에릭갑돌이";
$name[] = "홍길동마실||23.323.22";
$check_user = function($arr, $f) {$r=0;array_walk($arr,function(&$v)use(&$r,$f){if(strpos($v,$f) === 0)$r=1;});return $r;};
if (!$check_user($name, $cname)) echo "not exist!";
적용시켜보니 깔끔하게 잘 작동합니다.
더구나 preg_match를 사용하지 않아 속도면에서는 더 빠르게 작동이 될 것으로 보입니다.
function(&$v) 라고 중간에 &을 넣는 것은무엇을 의미하는지 전혀 모르겠습니다. ㅠㅠ
가끔 한번씩 보는데... 궁금했습니다.
보통 이런 경우는 글로벌 변수로 선언해서 사용하던가
아니면 그냥 return 해당변수; 로 해서 사용하는데...
더 편리한 방법이로군요.
$haystack = array (
'say hello',
'hello stackoverflow',
'hello world',
'foo bar bas'
);
$matches = preg_grep ('/^hello (\w+)/i', $haystack);
print_r ($matches);
마지막에 matches 의 length 를 구해서 0이면 있는거고 1이면 있는거구요.있으면 array 로 반환도 되구요
preg_grep 가 있다는 사실은 처음 알았습니다.
충분히 이해가 되고 공감이 됩니다.
멋져요.
한번씩 코딩 이야기를 올릴때마다 아주 다양한 솔루션은 정말 놀랍습니다.
length 는
echo count($matches);를 말하는 것이겠지요