我正在使用一些参数编写SQL查询创建者。在Java中,只需通过数组长度检查当前数组位置,就可以很容易地从for循环中检测数组的最后一个元素。
for(int i=0; i< arr.length;i++){
boolean isLastElem = i== (arr.length -1) ? true : false;
}
在PHP中,它们有访问数组的非整数索引。因此必须使用foreach循环遍历数组。当您需要做出某些决定时(在我的例子中,在构建查询时附加或/和参数),这就会出现问题。
我相信一定有某种标准的方法来做这件事。
PHP中如何解决这个问题?
不要在最后一个值后面加逗号:
数组:
$data = ['lorem', 'ipsum', 'dolor', 'sit', 'amet'];
功能:
$result = "";
foreach($data as $value) {
$resut .= (next($data)) ? "$value, " : $value;
}
结果:
print $result;
Lorem, ipsum, dolor, sit, amet
你也可以尝试这样让你的查询…这里显示的是INSERT
<?php
$week=array('one'=>'monday','two'=>'tuesday','three'=>'wednesday','four'=>'thursday','five'=>'friday','six'=>'saturday','seven'=>'sunday');
$keys = array_keys($week);
$string = "INSERT INTO my_table ('";
$string .= implode("','", $keys);
$string .= "') VALUES ('";
$string .= implode("','", $week);
$string .= "');";
echo $string;
?>