[英]PHP Compare Two Arrays?
我正在嘗試比較數據庫中的兩個條目,因此當用戶進行更改時,我可以獲取兩個數據庫條目並進行比較以查看用戶所做的更改,因此我將獲得類似於以下的輸出:
用戶將$fieldName
從$originalValue
更改$fieldName
$newValue
我研究了這個問題,並遇到了array_diff
但是它沒有提供我需要的輸出格式。
在繼續編寫執行此操作的函數並將其返回為一個不錯的$mtextFormatDifferenceString
,誰能指出我已經執行此操作的解決方案的方向?
我不想重新發明輪子。
由於您需要“從$ originalValue到$ newValue”,因此我將繼續選擇兩行,將它們放入assoc數組中,然后遍歷各個鍵,保存不相等的鍵。 有一些像:
$fields = array_keys($row1);
$changedFields = array();
foreach ($fields as $field) {
if ($row1[$field] != $row2[$field]) {
$changedFields[] = $field;
}
}
我意識到您在詢問是否存在預制車輪,但我認為解決方案非常簡單。
?>
盡管您沒有定義所需的格式,但是著名的diff
算法可能適合您。 Google for PHP diff algorithm
,您肯定會找到一些建議。
您可以使用array_diff_assoc獲取更改后的值($ newValue),然后僅使用鍵($ fieldName)查找原始值$ originalValue並以所需的任何格式輸出
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.