2014-01-13 2 views
-2

나는 PHP 개발자가 처음이라, 그렇지 않다면 또는 elseif ... 그러나 나는 그것들을 이해하지 못한다 : 나는 알고있다. 및 기타 기호. ,PHP 그 줄은 무엇을 의미합니까?

또한
$success = $success ? $b->save(false) : $success; 

if (!success) // shouldn't this be without "!" 
    $transaction->commit(); // this means "do the job, if ok" 
    else 
    $transaction->rollBack(); // this means "don't do the job, if not ok" 

, 당신은 어떻게 문자 전화하라고 말할 수있는 나는 그들의 이름을 모른다 그래서 내가

+1

구글과 동일합니다. –

+0

이것은 삼항 연산자입니다. 기본적으로 if else 구문입니다. –

+2

@Irakli 코드에 대해 배우려는 시도는 끔찍한 예제입니다. 그게 아마 너를 버렸을거야. 성공은 사실입니까? 응. –

답변

4

,이 삼항 운영을 찾을 수 있습니다 검증없이 저장하고, 성공적인 저장 한 후, true

는 다음 if 부분은 매우 분명하다 반환을 의미합니다 예를 들어 자바 스크립트도 마찬가지입니다.

if/else의 짧은 손길입니다. 이 반환하는 경우

? 전에 부분은 상태이며, 다음 부분은 조건이 true를 반환하는 경우 실행할 수있는 코드 및합니다 (: 후) 마지막 부분입니다 false :

condition ? if true : if false;

$a = 3 > 5 ? 'three is greater than five' : 'three is lesser than five';

이 경우 $athree is lesser than five입니다.

나는하지 않을 경우, 당신이 삼항 연산자, if 문에 대한 간단한 양식의 가독성

2

그들에 대한 자습서를 찾을 수 없습니다 : 그래서 당신이 라인이 무슨 뜻인지 말해 줄 수 위의 코드는 이전 트랜잭션의 $successtrue 인 경우 $b->save(false)을 시도한 다음 $b->save(false)의 반환 값을 $success에 넣는 것과 같습니다.

$b->save(false)

그것은 언어의 많은 꽤 흔한 일
+0

그러나 (성공) {$ transaction-> commit();} – Irakli

+0

은 물건들은 괜찮 았어, 저주를해라. 그러나 그것은 당신이 우리에게 보여주지 않았던 이전에 구현되었던 논리에 달려있다. 그래서 나는 말할 수 없다. – tinybyte

2

에 대한 곤란을 희생, 적은 유지 보수 코드를을 writting 결국, 매우 간단한 조건/결과 삼항 작업을 권장합니다 .

$success = $success ? $b->save(false) : $success; 

는 PHP에서 원 사업자

if($success) { 
    $success = $b->save(false); 
} else { 
    $success = $success; 
} 
관련 문제