Php 当两个数组中的一个元素不同时,如何比较这两个数组以获得真相
我有两个数组,它们只区分一个元素,我想知道真相,即使一个元素不同。不同的元素可以位于不同的索引中,在我的示例中,它位于数组的第三个索引中Php 当两个数组中的一个元素不同时,如何比较这两个数组以获得真相,php,Php,我有两个数组,它们只区分一个元素,我想知道真相,即使一个元素不同。不同的元素可以位于不同的索引中,在我的示例中,它位于数组的第三个索引中 $aRoutesByClass = array ( 1 => 'odbiorca', 2 => 'umowy-z-odbiorcami', 3 => '{agreement2lvl:id}', 4 => 'wyda
$aRoutesByClass = array (
1 => 'odbiorca',
2 => 'umowy-z-odbiorcami',
3 => '{agreement2lvl:id}',
4 => 'wydarzenia',
)
$aUserSettingUrl = array (
1 => 'odbiorca',
2 => 'umowy-z-odbiorcami',
3 => '13732',
4 => 'wydarzenia',
)
if ($aRoutesByClass == $aUserSettingUrl) {
//FALSE
//I wish it were true if only one element is different
}
我希望我清楚地描述了我的问题。您可以使用array_diff()来比较两个数组,它将给出不同元素数组的结果,然后您可以检查count()是否为1,然后您将获得true尝试以下代码
$aRoutesByClass = array (
1 => 'odbiorca',
2 => 'umowy-z-odbiorcami',
3 => '{agreement2lvl:id}',
4 => 'wydarzenia',
);
$aUserSettingUrl = array (
1 => 'odbiorca',
2 => 'umowy-z-odbiorcami',
3 => '13732',
4 => 'wydarzenia',
);
$result = array_diff($aRoutesByClass,$aUserSettingUrl);
if (count($result) == 1) {
echo "true";exit;
}
您可以使用array_diff()来比较两个数组,它将给出不同元素数组的结果,然后您可以检查count()是否为1,然后您将得到true尝试以下代码
$aRoutesByClass = array (
1 => 'odbiorca',
2 => 'umowy-z-odbiorcami',
3 => '{agreement2lvl:id}',
4 => 'wydarzenia',
);
$aUserSettingUrl = array (
1 => 'odbiorca',
2 => 'umowy-z-odbiorcami',
3 => '13732',
4 => 'wydarzenia',
);
$result = array_diff($aRoutesByClass,$aUserSettingUrl);
if (count($result) == 1) {
echo "true";exit;
}
如果我理解你的意思,你想比较两个数组,如果只有一个元素是不同的,它应该显示为真
<?php
$aRoutesByClass = array (
1 => 'odbiorca',
2 => 'umowy-z-odbiorcami',
3 => '{agreement2lvl:id}',
4 => 'wydarzenia',
);
$aUserSettingUrl = array (
1 => 'odbiorca',
2 => 'umowy-z-odbiorcami',
3 => '13732',
4 => 'wydarzenia',
);
$counter = 0;
for($i = 1; $i<= count($aRoutesByClass); $i++){
if($aRoutesByClass[$i] != $aUserSettingUrl[$i]){
$counter++;
}
}
if($counter == 1){
echo "Even";
}else{
echo "Odd";
}
?>
如果我理解你的意思,你想比较两个数组,如果只有一个元素不同,它应该显示true
<?php
$aRoutesByClass = array (
1 => 'odbiorca',
2 => 'umowy-z-odbiorcami',
3 => '{agreement2lvl:id}',
4 => 'wydarzenia',
);
$aUserSettingUrl = array (
1 => 'odbiorca',
2 => 'umowy-z-odbiorcami',
3 => '13732',
4 => 'wydarzenia',
);
$counter = 0;
for($i = 1; $i<= count($aRoutesByClass); $i++){
if($aRoutesByClass[$i] != $aUserSettingUrl[$i]){
$counter++;
}
}
if($counter == 1){
echo "Even";
}else{
echo "Odd";
}
?>
在有些情况下,表格实际上是相等的。 例子: $aRoutesByClass=数组( 1=>“zmiany-w-windykacji”, ) $aUserSettingUrl=阵列( 1=>“zmiany-w-windykacji”,
)在有些情况下,表格实际上是相等的。 例子: $aRoutesByClass=数组( 1=>“zmiany-w-windykacji”, ) $aUserSettingUrl=阵列( 1=>“zmiany-w-windykacji”, )