>  기사  >  백엔드 개발  >  thinkphp의 선택과 찾기의 차이점

thinkphp의 선택과 찾기의 차이점

高洛峰
高洛峰원래의
2016-11-29 10:22:47936검색

thinkphp는 MVC 아키텍처 관리 시스템을 빠르게 개발할 수 있는 비교적 좋은 PHP 개발 프레임워크입니다. 두 메소드 모두 데이터 세트 배열을 반환할 수 있지만 차이점은 무엇입니까? 옷감? 먼저 내 코드 비교를 살펴보겠습니다.

$tech=M('techlevel','HR_CS_','DB_CONFIG2');

$Data=$tech->where( 'id =1')->find();

dump($Data);

$Data=$tech->where('id=1')-> select( );

dump($Data);

결과

array(6){

["ID"]=>int( 1)

["TechLevel"]=>string(2)"10"

["Remark"]=>string(4)"�"

[ "CreateDate"]=>string(19)"2013-03-1415:14:38"

["CreateBy"]=>string(5)"admin"

[ "ROW_NUMBER"]=>string(1)"1"

}

배열(1){

[0]=> ; 배열(6){

["ID"]=>int(1)

["TechLevel"]=>string(2)"10"

["Remark"]=>string(4)"�"

["CreateDate"]=>string(19)"2013-03-1415:14:38"

["CreateBy"]=>string(5)"admin"

["ROW_NUMBER"]=>string(1)"1"

}

}

위 코드에서 알 수 있듯이 find()는 1차원 배열을 반환하고 select()는 2차원 배열을 반환하므로 1차원 배열의 경우 값에 차이가 있습니다. $data ["TechLevel"]를 사용하고, $data[0]["TechLevel"]을 사용하여 2차원 배열의 값을 가져옵니다. 처음에는 이 사용법을 이해하지 못했기 때문에 한동안 디버깅할 가치가 없었습니다. 마지막으로 두 가지 방법의 차이점을 알아보기 위해 dump 방법을 사용했습니다.

또한

$Model=M();

$sql='selectroleidfrom'.C("DB_PREFIX").'adminwhereuserid='.session(' userid ').'';

$list=$Model->query($sql);

//작성방법 1

foreach( $listas&$info){

if(info['roleid']=='1'){

}

// 작성 방법 2

if($list[0]['roleid']=='1'){

}

thinkphp의 원래 sql 철자, 결과는 다음과 같습니다. 2차원 배열


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