【发布时间】:2015-09-14 14:15:58
【问题描述】:
我正在尝试编写一个快速脚本,它只查询一次 MSSQL 表,然后在我端组织响应,这样我就不必一直查询 mysql 来获取数据。
很难解释,但我想出的是在一个查询中获取我需要的所有内容,然后将每一行组织成一个数组,然后将该数组放入另一个全包数组中,然后我可以从中提取数据.
到目前为止我得到了什么:
$allInclusiveArray = [];
$sumRecords = mssql_num_rows($result);
for ($i = 0; $i < $sumRecords; ++$i) {
//get key values for array
echo $value1= mssql_result($result, $i, 'key1');
echo $value2= mssql_result($result, $i, 'key2');
echo $value3= mssql_result($result, $i, 'key3');
echo $value4= mssql_result($result, $i, 'key4');
$tempArray = [
"key1" => $value1,
"key2" => $value2,
"key3" => $value3,
"key4" => $value4
];
array_push($allInclusiveArray, $tempArray);
}
最终结果将是一个看起来像这样的数组:
$allInclusiveArray = [
[array with keys and values],
[array with keys and values],
[array with keys and values]
];
我想知道是否有一种方法可以查询此数组以获取与一个键相关的所有值,而另一个键具有固定值。在 mssql 中,它看起来像 SELECT key1 FROM table WHERE key2 = value2
一种可能是执行一个 for 循环,然后运行 if 语句检查键和值是否匹配,例如:
for (i in length of array) {
if (the array located at i has key2 equaling value2) {
select the value of key1 from the array at this index
}
}
编辑:我最终在 MSSQL 方面进行了大部分排序。我有一个有效的 PHP 脚本可以对大量数据进行排序,但即使处理 20,000 条记录也需要很长时间。
【问题讨论】:
-
您可以在github.com/Athari/YaLinqo尝试 LINQ php 库
标签: php arrays sql-server