>  기사  >  백엔드 개발  >  ThinkPHP의 Where 조건에서 일반적으로 사용되는 표현식

ThinkPHP의 Where 조건에서 일반적으로 사용되는 표현식

不言
不言원래의
2018-06-07 14:24:481693검색

다음은 ThinkPHP Where 조건에서 일반적으로 사용되는 표현식에 대한 기사입니다. 내용이 꽤 괜찮아서 지금 공유해서 참고용으로 올려드리겠습니다.

조건식 형식은 다음과 같습니다.

$map['字段名'] = array('表达式', '操作条件');

여기서 $map은 필요에 따라 이름을 지정할 수 있는 일반 배열 변수입니다. 위 형식의 표현식은 실제로 operator의 의미입니다:

9f3a600a7da347cdcc979b944aed9e6f array('like','Admin%'); ' Admin%'betweenbetween and$map['id'] = array('between','1,8');id BETWEEN 1 AND 8not과 같은 사용자 이름 between not between and$map['id'] = array('not between','1,8');id NOT BETWEEN 1 AND 8inin$map ['id'] = array('in','1,5,8');id in(1,5,8)not innot in$map['id' ] = 배열 ​​('not in','1,5,8');id not in(1,5,8)and (기본값)and$map['id'] = array( array('gt',1),array('lt',10));(id > 1) AND (id 4c49c6e2306f8b7074d133e438e7d12e 3) OR (id < 10)xor (XOR )xor두 입력 중 하나만 true이면 결과는 true이고, 그렇지 않으면 false입니다. 1 xor 1 = 0exp종합적인 표현$map['id'] = array('exp','in(1,3,8)');$map[ ' id'] = array('in','1,3,8');추가 참고사항• SQL과 마찬가지로 ThinkPHP 연산자도 대소문자를 구분하지 않습니다. eq와 EQ도 동일합니다. • between 및 in 조건은 문자열 또는 배열을 지원합니다. 즉, 다음 두 가지 작성 방법은 동일합니다.
$map[&#39;id&#39;] = array(&#39;not in&#39;,&#39;1,5,8&#39;);
$map[&#39;id&#39;] = array(&#39;not in&#39;,array(&#39;1&#39;,&#39;5&#39;,&#39;8&#39;));
ThinkPHP 연산자와 SQL 연산자 비교표
TP 연산자 SQL 연산자 예제 실제 쿼리 조건
eq = $map['id'] = array('eq',100); 은 다음과 동일합니다: $map['id'] = 100;
neq != $map[ 'id'] = array('neq',100); id != 100
gt > $map['id'] = array('gt',100 ); id > 100

exp 표현식

위 표의 exp는 연산자가 아니지만 포괄적인 더 복잡한 조건부 설정을 지원하는 표현식입니다. exp의 작동 조건은 문자열로 처리되지 않으며 함수 및 필드 이름 사용을 포함하여 SQL에서 지원하는 모든 구문을 사용할 수 있습니다.

exp는 where 조건뿐만 아니라 다음과 같은 데이터 업데이트에도 사용됩니다.

$Dao = M("Article");
//构建 save 的数据数组,文章点击数+1
$data[&#39;id&#39;] = 10;
$data[&#39;counter&#39;] = array(&#39;exp&#39;,&#39;counter+1&#39;);
//根据条件保存修改的数据
$User->save($data);
위는 이 기사의 전체 내용입니다. 읽어주셔서 감사합니다. 더 많은 관련 컨텐츠 중국사이트! 관련 추천:

thinkPHP에서 클래스를 소개하는 방법

ThinkPHP에서 where() 사용법에 대한 자세한 설명


위 내용은 ThinkPHP의 Where 조건에서 일반적으로 사용되는 표현식의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.