php - 使用php进行数组比较
问题描述
代码不会停止运行。我需要比较两个数组以匹配每个字符串。两个不同大小的数组。
第一个数组:
Array (
[0] => '+2+x=1'
[1] => '+x+2=1'
[2] => 'x+2=1'
[3] => '-1+2=7'
[4] => '+2-1=7'
[5] => '+x+27=3+2'
[6] => 'x+27=3+2'
[7] => 'x=3'
[8] => '+x=3'
)
第二个数组:
Array (
[0] => '+x+2=1'
[1] => '-1+2=7'
[2] => '+x+27=3+2'
[3] => '+x=3'
)
我当前的代码:(第一个数组 = $step_1,第二个数组 = $arr_result)
$count1 = 0;
for ($k=0; $k < count($arr_result); $i++) {
for ($l=0; $l < count($step_1); $l++) {
if (strcmp($arr_result[$k],$step_1[$l]) == 0) {
$count1++;
echo "$k "."$l ".strcmp($arr_result[$k],$step_1[$l])."<br>";
}
}
}
提前致谢。
解决方案
使用函数array_intersect,它将返回一个具有两个数组匹配值的数组:
$array1 = ['foo', 'bar', 'abc'];
$array2 = ['foo', 123, 456, 789, 4654, 'abcdef'];
$matching_values = array_intersect($array1, $array2);
$matching_values 将导致
Array
(
[0] => foo
)
编辑:请注意,在您的 FOR 中您使用 $k 但您增加了 $i ...这就是您的代码不会停止的原因;
对于 ($k=0; $k < 计数($arr_result); $i++)
推荐阅读
- javascript - 如何在图像上添加导航栏
- python - 如何使用 xlsxwriter 在 Excel 中创建直方图?
- hyperledger-fabric - 运行 Hyperledger Fabric 基本网络时出现问题:验证 ReadSet 时出错
- javascript - Jest mocks - 如何在测试之间恢复原始功能
- .htaccess - 使用 .htaccess 应用多个规则
- c# - WPF 依赖属性已更改但未在绑定中生效
- python - 如何在一个目录中添加(合并)多个图像
- typescript - 如何使用 Typescript 获取选定/活动的垫子扩展面板名称
- css - 粘性顶级课程不起作用。Bootstrap-4
- ms-word - 如何使用 Office.js api 在 Word 中获取当前活动表(当前光标所在的位置)?