Heim  >  Artikel  >  Backend-Entwicklung  >  Der Unterschied zwischen select und find von thinkphp

Der Unterschied zwischen select und find von thinkphp

高洛峰
高洛峰Original
2016-11-29 10:22:47936Durchsuche

thinkphp ist ein relativ gutes PHP-Entwicklungsframework, das schnell MVC-Architekturverwaltungssysteme entwickeln kann. Wir müssen die Methoden select() und find() verwenden, aber was ist der Unterschied? Tuch? Werfen wir zunächst einen Blick auf meinen Codevergleich:

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

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

dump($Data);

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

dump($Data);

result

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"

}

array(1){

[0]=> ; 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"

}

}

Wie aus dem obigen Code ersichtlich ist, gibt find() ein eindimensionales Array und select() ein zweidimensionales Array zurück, sodass es bei eindimensionalen Arrays Unterschiede in den Werten gibt. Verwenden Sie $data ["TechLevel"], verwenden Sie $data[0]["TechLevel"], um den Wert des zweidimensionalen Arrays zu erhalten. Da ich diese Verwendung am Anfang nicht verstanden habe, hat sich das Debuggen nicht gelohnt Schließlich habe ich die Dump-Methode verwendet, um den Unterschied zwischen den beiden Methoden zu sehen.

Außerdem

$Model=M();

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

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

//Schreibmethode 1

foreach( $listas&$info){

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

}

// Schreibmethode 2

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

}

thinkphps ursprüngliche SQL-Schreibweise, das Ergebnis ist auch ein zweidimensionales Array


Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn