【发布时间】:2018-08-03 20:50:08
【问题描述】:
我正在处理服务器端数据表。我有这个例子,我不明白。
这部分到底在做什么,为什么其中一些在实际变量之前被调用?
$params = $columns = $totalRecords = $data = array();
或者这个
$where_condition = $sqlTot = $sqlRec = "";
我搜索了答案,但我发现是变量变量,例如 $$a
<?php
require_once("../connections/mysqli_connect.php");
$params = $columns = $totalRecords = $data = array();
$params = $_REQUEST;
$columns = array(
0 => 'post_id',
1 => 'post_title',
2 => 'post_desc'
);
$where_condition = $sqlTot = $sqlRec = "";
if( !empty($params['search']['value']) ) {
$where_condition .= " WHERE ";
$where_condition .= " ( post_title LIKE '%".$params['search']['value']."%' ";
$where_condition .= " OR post_desc LIKE '%".$params['search']['value']."%' )";
}
$sql_query = " SELECT * FROM li_ajax_post_load ";
$sqlTot .= $sql_query;
$sqlRec .= $sql_query;
if(isset($where_condition) && $where_condition != '') {
$sqlTot .= $where_condition;
$sqlRec .= $where_condition;
}
$sqlRec .= " ORDER BY ". $columns[$params['order'][0]['column']]." ".$params['order'][0]['dir']." LIMIT ".$params['start']." ,".$params['length']." ";
$queryTot = mysqli_query($con, $sqlTot) or die("Database Error:". mysqli_error($con));
$totalRecords = mysqli_num_rows($queryTot);
$queryRecords = mysqli_query($con, $sqlRec) or die("Error to Get the Post details.");
while( $row = mysqli_fetch_row($queryRecords) ) {
$data[] = $row;
}
$json_data = array(
"draw" => intval( $params['draw'] ),
"recordsTotal" => intval( $totalRecords ),
"recordsFiltered" => intval($totalRecords),
"data" => $data
);
echo json_encode($json_data);
【问题讨论】:
-
您具体询问的是
.=还是[...] = $something = $something_else? -
变量刚刚被初始化。是短手。在 $params 行中,它们都被设置为一个空数组。在 $where_condition 行中,它们都被设置为注意。
-
代码审查是这个问题的更好的地方......哦等等,它已经存在:codereview.stackexchange.com/questions/94299/…
-
PS:这样做没有错,我什至在将多个调试变量初始化为空时经常这样做。最好在一行代码中将它们全部打完,而不是十个左右的块哈哈:)所以 YMMV。
-
感谢大家的帮助和codereview链接。
标签: php arrays variables datatables