使用PHP implode()构造字符串
如果要从数组中包含的一组变量构造一个简单的字符串,则可以使用implode函数将数组转换为字符串。该implode()函数有两个参数。第一个是用于将数组中的项目连接在一起的胶水,第二个是要使用的数组。这是一个实际的小例子implode()。
$array = array(1, 2, 3, 4, 5, 6); echo implode(',', $array);
这将打印出以下内容:
1,2,3,4,5,6
该implode()函数的优点是它不会在字符串的开头和结尾添加逗号,因此在使用该函数后无需更改字符串。
$sql = 'SELECT * FROM table'; $clauses = array(); //这两个变量可以通过表单请求创建。 $column1 = 'one'; $column2 = 'two'; if ( isset($column1) ) { $clauses[] = 'column1 = "'.$column1.'"'; } if ( isset($column2) ) { $clauses[] = 'column2 = "'.$column2.'"'; } if ( count($clauses) > 0 ) { $sql .= ' WHERE '.implode(' AND ', $clauses).';'; } echo $sql;
那么如何在任何应用程序中使用此功能?如果要创建SQL语句,则可以使用implode通过数组构造它。以下代码将使用两个名为$column1和$column2的变量,并使用它们创建SQL语句的WHERE子句。这两个变量可能是通过GET或POST请求创建的,但是每个子句的字符串都添加到了名为$clauses的数组中。在此过程结束时,如果数组长度大于1,implode()则使用该函数将完整的WHERE子句添加到SELECT语句中。
这将打印出以下内容:
SELECT*FROMTABLEWHEREcolumn1="one"ANDcolumn2="two";
这可能并不适用于所有应用程序,但我认为它使SQL语句的创建比纯粹将它们构造为字符串的可读性更高。