我正在优化一些代码。我可以改变一些代码,有些代码我不能改变。 我正在查询数据库并根据作为新数据的json_decode()数组进行检查。我找到了差异,并根据需要在数据库中添加或删除。
更新:这是我的问题:
$ sQuery =" SELECT column1,column2 FROM my_table WHERE id = my_id;
UPDATE2:
好的,所以我的查询进入了一个我无法改变的自定义查询功能,这就是出现的结果:
mysqli_result Object
(
[current_field] => 0
[field_count] => 2
[lengths] =>
[num_rows] => 2
[type] => 0
)
我想以这样的方式解析结果:
Array
(
[0] => Array
(
[column1] => value
)
[1] => Array
(
[column2] => value
)
)
//结束更新2
我试着解析第一个数组以匹配第二个数组的组织,感觉很愚蠢。请帮忙吗?以下是我尝试的内容:
while ($aRows = $aResults->fetch_assoc()) {
foreach ($aRows as $iKey => $sValue) {
if ($iKey % 2 == 0)
$aPreviousList[$iKey][] = $sValue;
if ($iKey % 2 == 1)
$aPreviousList[$iKey][] = $sValue;
}
}
但它是这样的:
Array
(
[ixfChangeMethod] => Array
(
[0] => 16
[1] => 11
)
[sDetails] => Array
(
[0] => some details about 16
[1] => some details about 11
)
)
我是否认为这一切都错了,或者我是否有另外一种方法可以解析两个阵列,我可以更好地检查差异?
答案 0 :(得分:6)
我已经更改了代码,这样更好吗?
while ($aRow = $aResults->fetch_row()) {
$aPreviousList[] = array($aRow[0] => $aRow[1]);
}
答案 1 :(得分:1)
fetch_assoc
返回一个关联数组
fetch_row
返回一个数字数组。
所以只需使用fetch_row
代替fetch_assoc
。
答案 2 :(得分:1)
你可以试试这个
while ($aRows = $aResults->fetch_assoc())
{
$aPreviousList[]=array($aRows['column1']=>$aRows['column2']);
}
print_r($aPreviousList);