Array_diff,我如何比较两个不同数组的字符串和值

时间:2015-09-20 20:25:28

标签: php echo

我想得到这两个数组的array_diff和按键

的回声
$s1=1;
$s2=7;
$s3=8;
$r=array("$s1","$s2","$s3");
$rr=array("1","2","3","4","5","6","7","8","9","10");
$rrr=array_diff($r,$rr);
echo $rrr[0];

我希望得到像2这样的结果但是我得到了一个错误。有人在这里帮忙。

1 个答案:

答案 0 :(得分:3)

array_diff的{​​{3}}表示

  

将array1与一个或多个其他数组进行比较并返回   array1中的值,不存在于任何其他数组中。

array1$rother array$rr

$r基本上等同于

$r = array("1","7","8");

我们可以清楚地看到$r$rr中没有{strong> 中没有值"1"。 ("7""8"$rr全都在E_NOTICE。)

因此,当您尝试访问$rrr[0]时,您会收到$rrr,因为$rrr = array_diff($rr, $r); 为空。

也许你的意思是documentation

array_diff

正如reverse the order of the two arguments所指出的,Array ( [1] => 2 [2] => 3 [3] => 4 [4] => 5 [5] => 6 [8] => 9 [9] => 10 ) Loop Me

这意味着您的阵列现在就是这样。

$rrr = array_values($rrr);

您可以使用does not reorder your indices重新排序。

=MID(A1,MIN(FIND({0;1;2;3;4;5;6;7;8;9},A1&"0123456789")),99)

array_values