programing

그렇지 않으면 PHP 문에서 AND/OR 사용

kingscode 2022. 10. 9. 11:26
반응형

그렇지 않으면 PHP 문에서 AND/OR 사용

if PHP 문에서 'AND/OR'을 어떻게 사용합니까?다음 중 어느 쪽인가?

1) 그리고

if ($status = 'clear' AND $pRent == 0) {
    mysql_query("UPDATE rent 
                    SET dNo = '$id', 
                        status = 'clear', 
                        colour = '#3C0' 
                  WHERE rent.id = $id");
} 

2) 또는

if ($status = 'clear' OR $pRent == 0) {
    mysql_query("UPDATE rent 
                    SET dNo = '$id', 
                        status = 'clear', 
                        colour = '#3C0' 
                  WHERE rent.id = $id");
} 

그렇다' 입니다.
http://www.php.net/manual/en/language.operators.logical.phphttpwww.php.net/manual/en/language..logical.php


단, 두 가지가 있습니다.

  • 가 은은 many many를 선호합니다.&& ★★★★★★★★★★★★★★★★★」||and ★★★★★★★★★★★★★★★★★」or다만, 동작은 같습니다(우선 순위는 안전합니다).
  • $status = 'clear'아마 그럴 것이다$status == 'clear'===교입니니다다

이 답변에는 농담이나 오해의 소지가 있는 코멘트가 포함되어 있습니다.또, 일부의 잘못된 정보도 기재되어 있습니다.개선해 나가고 싶다.

먼저, 일부에서 지적한 바와 같이 코드에는 다음과 같은 문제와 관련된 버그가 있습니다.

if ($status = 'clear' AND $pRent == 0)

:===첫 :째 : : : 。

if ($status == 'clear' AND $pRent == 0)

이 경우 기능적으로 동일한 수준입니다.

if ($status == 'clear' && $pRent == 0)

둘째, 이들 연산자는 (and or && || 연산자입니다을 사용하다즉, 첫 번째 식에서 확실하게 답을 결정할 수 있다면 두 번째 식에서는 평가되지 않습니다. 연산자를합니다. 이 연산자를 할당으로 결합할 때는 이 합니다.

셋째, 실제적인 차이점입니다.and or ★★★★★★★★★★★★★★★★★」&& ||연산자 우선 순위입니다.특히 중요한 것은&& || 연산자 연산자= += -= *= **= /= .= %= &= |= ^= <<= >>=and or할당 연산자보다 우선도가 낮습니다.따라서 과제와 논리적 평가를 결합한 진술에서는 어느 쪽을 선택하느냐가 중요합니다.

논리 연산자의 PHP 페이지에서 수정된 예:

$e = false || true;

true해 주세요.$e, 냐냐||에서는 연산자 가 '보다 높다'보다 .=따라서 기본적으로 다음과 같이 평가됩니다.

$e = (false || true);

하지만

$e = false or true;

false로로 합니다.$e (을) 실행합니다.ortrue)의 설명=에서는 연산자 가 '보다 높다'보다 .or기본적으로 다음과 같이 평가합니다.

($e = false) or true;

에 많은 '어느새'를 사용하게 됩니다.&& ||그 후 모든 것이 C와 같은 언어(논리적인 연산, 그 후 과제)에서 기대하는 것처럼 명확하게 동작합니다.

Perl과 같은 일부 언어에서는 다음과 같은 형식으로 이러한 종류의 구성을 자주 사용합니다.

$connection = database_connect($parameters) or die("Unable to connect to DB.");

이 "Database Connection" 에 할당됩니다.$connection실패했을 하고 있습니다false에러 메시지와 함께 스크립트가 종료됩니다.인해 성공했을 , 「」는 「」를 참조해 .die()평가되지 않습니다.

이 구성을 바로 사용할 수 있는 일부 언어에서는 조건/논리문(Python 등)에 대한 할당을 금지하고 있습니다.

PHP는 두 가지 옵션을 모두 허용하기 때문에 두 가지 옵션을 한 번 배운 후 원하는 대로 코드를 작성하면 되지만, 어떤 식으로든 일관성을 유지할 수 있기를 바랍니다.

의문점이 있을 때는 항상 괄호를 추가해 모든 애매함을 제거해 주세요.이러한 항목은 항상 동일합니다.

$e = (false || true);
$e = (false or true);

그 모든 지식을 갖추고 있기 때문에, 저는 이 기술을 사용하는 것이 더 좋습니다.and or논리적 평가를 요.과제를 논리적 평가와 결합하지 않는 규칙이 있을 뿐입니다.다만, 이 시점에서는, 어느 쪽을 선택하느냐보다 일관성이 훨씬 더 중요합니다.


어어어어 【속담】?" 짧은 답변은 올바르게 하고 있다는 것입니다.


The other question would be "When do you use it?"
I use && instead of AND and || instead of OR.

$a = 1
$b = 3

지금이다,

if ($a == 1 && $b == 1) { TRUE } else { FALSE }

이 경우 B는 1이 아니기 때문에 결과는 "FALSE"입니다.이제 만약

if ($a == 1 || $b == 1) { TRUE } else { FALSE }

B가 우리가 요구하는 값이 아니더라도 "TRUE"가 반환됩니다.OR / | |를 사용하지 않고 TRUE를 반환하는 다른 방법이 있습니다.이것은 XOR입니다.

if ($a == 1 xor $b == 1) { TRUE } else { FALSE }

이 경우 변수 중 하나만 참이면 되지만 둘 다 참이면 결과는 거짓이 됩니다.

이게 도움이 됐으면 좋겠는데...

상세 내용:
http://www.php.net/manual/en/language.operators.logical.phphttpwww.php.net/manual/en/language..logical.php

두 가지 문제가 있습니다.

  1. ==를 참조해 주세요.쓰셨는데요.=임무를 위해서죠

  2. &&와 'and'에 ||또는 "또는"에 대해. and ★★★★★★★★★★★★★★★★★」or작동하겠지만 파격적입니다.

는 ★★★★★&&은 'OR'입니다.||처 c c

AND ★★★★★★★★★★★★★★★★★」OR&& ★★★★★★★★★★★★★★★★★」||자바스크립트 C.

C스타일에 준하는 C스타일에 비해 우선순위가 낮아 보입니다.

AND를 사용하는 경우

if ($status = 'clear' && $pRent == 0) {
    mysql_query("UPDATE rent SET dNo = '$id', status = 'clear', colour = '#3C0' WHERE rent.id = $id");
} 

사용하는 OR의 경우

if ($status = 'clear' || $pRent == 0) {
    mysql_query("UPDATE rent SET dNo = '$id', status = 'clear', colour = '#3C0' WHERE rent.id = $id");
} 

제가 좀 혼란스럽다고 생각합니다. :) 하지만 다른 사람은 없는 것 같습니다.

이 시나리오에서는 어떤 것을 사용할지 물어보는 건가요?Yes일 경우 And가 정답입니다.

연산자가 어떻게 작동하는지 묻는 경우

php에서는 AND, & & OR 모두 ||가 동일하게 동작합니다.프로그래밍이 처음이고 php가 모국어 중 하나라면 AND와 OR을 사용하는 것이 좋습니다.왜냐하면 다시 확인할 때 가독성이 높아지고 혼란이 줄어들기 때문입니다.다만, 다른 언어에 정통한 경우는, && 및 | 연산자를 이미 숙지하고 있을 가능성이 있습니다.

<?php
$val1 = rand(1,4); 
$val2=rand(1,4); 

if ($pars[$last0] == "reviews" && $pars[$last] > 0) { 
    echo widget("Bootstrap Theme - Member Profile - Read Review",'',$w[website_id],$w);
} else { ?>
    <div class="w100">
        <div style="background:transparent!important;" class="w100 well" id="postreview">
            <?php 
            $_GET[user_id] = $user[user_id];
            $_GET[member_id] = $_COOKIE[userid];
            $_GET[subaction] = "savereview"; 
            $_GET[ip] = $_SERVER[REMOTE_ADDR]; 
            $_GET[httpr] = $_ENV[requesturl]; 
            echo form("member_review","",$w[website_id],$w);?>
        </div></div>

나는 '&'를 '&'로 대체했기 때문에 둘 다...으으으

내 PHP 코드에서는 "AND"가 작동하지 않습니다.

서버 버전인가?

&은 정상적으로 동작합니다.

언급URL : https://stackoverflow.com/questions/4405795/using-and-or-in-if-else-php-statement

반응형