php数组按索引比较索引
如果有两个数组变量包含完全相同的数字(不重复)但位置被打乱。
输入数组
arr1={1,4,6,7,8};
arr2={1,7,7,6,8};
结果数组
arr2={true,false,false,false,true};
php中是否有函数可以获取上述结果,或者应该仅使用循环来完成(我可以这样做)。
If there are two array variable which contains exact same digits(no duplicate) but shuffled in position.
Input arrays
arr1={1,4,6,7,8};
arr2={1,7,7,6,8};
Result array
arr2={true,false,false,false,true};
Is there a function in php to get result as above or should it be done using loop(which I can do) only.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(5)
这是一个很好的应用程序
array_map()
< /a> 和一个匿名回调(好吧,我必须承认我喜欢这些闭包;-)是的,你必须以某种方式循环数组。
This is a nice application for
array_map()
and an anonymous callback (OK, I must admit that I like those closures ;-)And yes, you have to loop over the array some way or the other.
您可以使用 array_map:
输出为:
You could use array_map:
The output is:
完成这项工作的任何方式都必须使用循环元素。没有办法避免循环。
无论你如何尝试解决这个问题,即使有一个 php 函数可以做这样的事情,它也会使用循环。
Any way this job is done must be using looping the elements. There is no way to avoid looping.
No metter how you try to attack the problem and even if there is a php function that do such thing, it uses a loop.
你可以使用这个 http://php.net/manual/en/function.array -diff.php,但它不会返回布尔数组。它将返回数组 1 中不在数组 2 中的数据。如果这对您不起作用,您将不得不循环遍历它们。
You could use this http://php.net/manual/en/function.array-diff.php, but it will not return an array of booleans. It will return what data in array 1 is not in array 2. If this doesn't work for you, you will have to loop through them.
有
array_diff()
它将如果它们相等,则返回一个空数组。对于您的特定请求,您必须迭代数组并比较每个项目。
there's
array_diff()
which will return an empty array in case they are both equal.For your spesific request, you'll have to iterate through the arrays and compare each item.