我想通過一個表迭代2個數組的信息。兩個表都有一個相同的「建築」行,對於表格的一個單元格,我想比較這些行的內容。我的代碼如下:迭代和比較2陣列
<?php
$sql = "SELECT b.building, a.building FROM cms_TABLE_B b, cms_TABLE_A a WHERE a.building = b.building";
$result = $database->query($sql);
$availabilities[] = $database->fetch_array($result);
?>
<?php foreach ($TABLE_ARecords as $record): ?>
<div class="table-row">
<div class="property"><span><?php echo htmlencode($record['address']) ?></span></div>
<div class="availabilities"><span><?php if(in_array($record['building'], $availabilities)) { echo "success"; } else { echo "fail"; } ?></span></div>
</div>
<?php endforeach ?>
我試圖從TABLE_A「建設」的內容,並檢查它是否從表-B「建設」的內容相匹配。最終,如果內容匹配,我想計算他們擁有的匹配數量並將其顯示在表格單元格中。我不認爲我會以正確的方式進行討論,因爲$ availabilities數組甚至沒有正確的信息 - 但使用while會導致表重複其自身。我不想顯示來自TABLE_B的任何信息,我只想引用TABLE_A並顯示一個計數。
好吧,如果你已經有了你需要在數組中的建築物,你可以在php中使用count函數來查看有多少(count($ array))。如果您不需要關於建築物的全部信息,但僅需要匹配的數量,則應在查詢中對它們進行計數,並僅返回該數字。SELECT count(*)FROM cms_TABLE_B b,cms_TABLE_A a WHERE a.building = b。建設 –