2012-08-25 8 views
0

글쎄, 나는 자바와 같은 컴파일 된 언어에서 왔고 이제는 특정 영역에서 PHP를 다루려고하고있다. 오늘 유효한 값을 확인하는 방법을 알기 위해 "테스트 양식"을 만들었습니다. 이제 약간의 문제가 있습니다.PHP에서 불린으로 작업하기

내가 같은 것을 할 싶습니다 부울 변수를 사용하여, 내가 평가하는 여러 필드가 있다고 가정하자 : 나는 실행하고

//ASSUMING THAT ALL IS CORRECT 
$correct = true; 

$correct &= is_ok($name); 
$correct &= is_ok($last_name); 
$correct &= is_ok($nickname); 
$correct &= is_ok($best_friend); 

if (!$correct) { 
    //AT LEAST ONE FIELD IS INCOMPLETE 
} 
else 
{ 
    // EVERYTHING IS OK 
} 

function is_ok($field){ 
    return !empty($field); 
} 

문제가 제대로 작동하지 않습니다처럼 &= 보이는 것입니다. 다른 부울 연산자를 사용해야합니까?

+1

이것은 유효한 PHP 코드가 아닙니다. 실제 코드를 게시 할 수 있습니까? –

+0

먼저 PHP 튜토리얼을 읽고 다시 시도하십시오. – jeremy

+0

$ 변수의 시작 부분을 확인하십시오. – Rooster

답변

3

항상 설명서를 먼저 읽어보십시오!

비트 단위 operatiors을 = 논리 연산자

난 당신이 찾고있는 생각 :

//ASSUMING THAT ALL IS CORRECT 
$correct = true; 

$correct = $correct && is_ok($name); 
$correct = $correct && is_ok($last_name); 
$correct = $correct && is_ok($nickname); 
$correct = $correct && is_ok($best_friend); 
,

그런 종류의 질문을 피하려면 양식 자습서, 기본 레슨, 기본 설명서를 시작해야합니다.

+0

안녕하세요, 유용합니다! 하지만 넌 그걸 알아? 나는 $ string. = $ foo와 같은 "string short concatanation"을 재현하려고 시도했지만 불린에 적용 해 조금 혼란 스러웠다. – manix

+0

@manix Thats ok,하지만 1. 여전히'&'는 논리 연산자가 아니다. 2. 왜 당신은 무언가를 재현하려고 노력합니까? – Peter

+0

나는 그것을 명심 할 것이다!도움과 나머지 사람들에게도 감사드립니다. – manix

0

&은 비트 연산자입니다.

`$correct = $correct && is_ok($name);` 

때문에

echo 1 & 2 

같은 bloolean 사용 & &의 경우, 0

1
if (is_ok($name) && is_ok($last_name) && is_ok($nickname) && is_ok($best_friend)) { 
    echo "Good."; 
} else{ 
    echo "Bad."; 
} 

이상을 제공 단순히

if (!empty($name) && !empty($last_name) && !empty($nickname) && !empty($best_friend)) { 
    echo "Good."; 
} else{ 
    echo "Bad."; 
} 

당신이 정말로 일을 작성하려는 경우 전자 기입 방법 :

$correct = true; 
$correct = $correct && is_ok($name); 
$correct = $correct && is_ok($last_name); 
$correct = $correct && is_ok($nickname); 
$correct = $correct && is_ok($best_friend); 
+2

이것은 sooo unclever입니다. ': P' 위트를하기 위해, 나는 단지'is_ok()'가 테스트 할 하나 이상의 변수를 받아 들일 수 있도록 만들 것입니다. 더 간단하게 만드십시오. –

+0

마지막으로 찾던 것이 있습니다. 정말 고맙습니다 – manix