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