我有来自文本文件和mySQL数据库的值,我想比较一下:
以下是我从文本文件中获取的值:
foreach($list as $row) {
echo $row['cat']."<br>";
}
我的结果:
A2345
B7890
以下是我的数据库中的值:
$sql = "SELECT cat FROM animals WHERE id = '$id'";
$q = $pdo->prepare($sql);
$q->execute();
foreach ($pdo->query($sql) as $row) {
echo $row['cat']."<br>";
}
结果:
A2345
B7890
到目前为止一切都很好。
现在我的问题:
为了比较数据库内容和文本文件内容,我想将这两个结果存储在一个数组中并进行比较。
所以我的目标是为两个来源获得以下结果:
array(2) {
["cat"]=>
string(5) "A2345"
["cat"]=>
string(5) "B7890"
}
所以最后我可以写:
If (array1 == array2) { echo "The content of database and textfile match" }
这就是我的问题。我不知道如何实现它。因为如果我写...
echo "<pre>";
var_dump ($list);
echo "</pre>";
......我会得到这个结果:
array(2) {
[0]=>
array(2) {
["cat"]=>
string(5) "A2345"
["name"]=>
string(3) "tom"
}
[1]=>
array(2) {
["cat"]=>
string(5) "B7890"
["name"]=>
string(3) "sam"
}
}
如果我写这个......
echo "<pre>";
var_dump ($list["cat"]);
echo "</pre>";
......我会得到:
NULL
并且将数据库结果放入数组中对我来说是一个很大的问题。
我写道:
foreach ($pdo->query($test) as $row) {
$data[] = $row;
echo "<pre>";
var_dump($data);
echo "</pre>";
}
但我的结果是:
array(1) {
[0]=>
array(2) {
["cat"]=>
string(32) "A2345"
[0]=>
string(32) "A2345"
}
}
array(2) {
[0]=>
array(2) {
["cat"]=>
string(32) "A2345"
[0]=>
string(32) "A2345"
}
[1]=>
array(2) {
["cat"]=>
string(32) "B7890"
[0]=>
string(32) "B7890"
}
}
我很抱歉我对这件事感到很困惑,但我很感激每一个提示。
答案 0 :(得分:1)
我找到了一个可以使用的解决方案:
为文本文件:
$cat = array();
foreach($list as $row) {
$cat[] = $row['cat'];
}
var_dump($cat);
和数据库:
$cat = array();
foreach ($pdo->query($sql) as $row) {
$cat[] = $row['cat'];
}
var_dump($cat);
所以我得到结果:
array(2) {
[0]=> string(5) "A2345"
[1]=> string(5) "B7890"
}
现在我有两个可以比较的数组!