Php 查找两个数组之间的添加或删除值
我为synctwarray编写了一个代码,知道哪些是必须删除的,哪些是添加到新数组中的Php 查找两个数组之间的添加或删除值,php,arrays,Php,Arrays,我为synctwarray编写了一个代码,知道哪些是必须删除的,哪些是添加到新数组中的 <?php $currentArray = array('ali', 'hasan', 'husein'); //base array read from database $saveArray = array('husein', 'Hasan', 'taghi'); //requested item for save/delete in database $deleteArray = array();
<?php
$currentArray = array('ali', 'hasan', 'husein'); //base array read from database
$saveArray = array('husein', 'Hasan', 'taghi'); //requested item for save/delete in database
$deleteArray = array();
$addArray = array();
$currentArray = array_map('strtolower', $currentArray);
$saveArray = array_map('strtolower', $saveArray);
foreach ($currentArray as $a) {
if (!in_array($a, $saveArray))
$deleteArray[] = $a;
}
foreach ($saveArray as $a) {
if (!in_array($a, $currentArray))
$addArray[] = $a;
}
echo 'must be deleted:';
var_dump($deleteArray);
echo 'must be added:';
var_dump($addArray);
?>
现在,您认为该操作的代码更好、更快、更简单吗?您可以将其用作回调函数
$currentArray = array('ali', 'hasan', 'husein');
$saveArray = array('husein', 'Hasan', 'taghi');
$deleteArray = array_udiff($currentArray, $saveArray, 'strcasecmp');
$addArray = array_udiff($saveArray, $currentArray, 'strcasecmp');
您可以将其用作回调函数
$currentArray = array('ali', 'hasan', 'husein');
$saveArray = array('husein', 'Hasan', 'taghi');
$deleteArray = array_udiff($currentArray, $saveArray, 'strcasecmp');
$addArray = array_udiff($saveArray, $currentArray, 'strcasecmp');
值必须相同
$currentArray = array_map('strtolower', $currentArray);
$saveArray = array_map('strtolower', $saveArray);
并且基本上使用数组diff
$deleteArray = array_diff($currentArray, $saveArray);
$addArray = array_diff($saveArray, $currentArray);
这些值必须相同
$currentArray = array_map('strtolower', $currentArray);
$saveArray = array_map('strtolower', $saveArray);
并且基本上使用数组diff
$deleteArray = array_diff($currentArray, $saveArray);
$addArray = array_diff($saveArray, $currentArray);
你想替换阿里地区的taghi?@AvinashBabu,不,我想删除
ali
并添加taghi
你想替换阿里地区的taghi?@AvinashBabu,不,我想删除ali
并添加taghi