thể trùng lặp:
Checking if an array contains all elements of another arrayKiểm tra nếu một mảng chứa một mảng với PHP
Tôi đã đăng tải một cái gì đó như thế này để các Stackoverflow trước đó, nhưng câu trả lời không đáp ứng đầy đủ cho tôi. Đó là lý do tại sao tôi đăng câu hỏi một lần nữa, nhưng thay đổi tất cả các câu hỏi cùng.
Một số người đã giúp tôi xây dựng chức năng kiểm tra xem một số array($GroupOfEight[$i])
là một phần tử của một số nhiều chiều array($GroupOfEight)
bằng một mảng khác ($ stackArray), không tính đến thứ tự số trong mảng.
Tuy nhiên, những gì tôi cần phải kiểm tra là liệu đề cập array($stackArray)
chứa bất kỳ một array($GroupOfEight[$i])
trong đa chiều array($GroupOfEight)
hay không, đó có nghĩa là chính array($stackArray)
có thể bao gồm nhiều yếu tố hơn subarrays($GroupOfEight[$i])
.
Đây là một mã làm việc mà tôi đã thu thập được cho đến nay, nhưng cần phải được sửa đổi để các phiên bản tôi muốn:
<?php
$GroupOfEight = array (
array(0,1,3,2,4,5,7,6),
array(4,5,6,7,15,12,13,14),
array(12,13,15,14,8,9,11,10),
array(2,6,14,10,3,7,15,11),
array(1,3,5,7,13,15,9,11),
array(0,4,12,8,1,5,13,9),
array(0,1,3,2,8,9,11,10)
);
$stackArray = array(0,4,12,1,9,8,5,13,9,2,5,2,10);
/*$stackArray gets value with POST Method by URL parameter.
This is just the example. As you see this array contains
$GroupOfEight[4], and also it contains many other numbers.*/
/* The function given below checks if $stackArray equals any
of the subarrays of $GroupOfEight. However, we want to check
if $stackArray caontains any of the subarrays of function.
If it does, function should return the index number, if it
doesnt it should return -1.*/
function searcheight($stackArray,$GroupOfEight){
for($i=0; $i<count($GroupOfEight);$i++){
$containsSearch = (count(array_intersect($stackArray,$GroupOfEight[$i])) == count($stackArray) && count(array_intersect($stackArray,$GroupOfEight[$i])) == count($GroupOfEight[$i]));
if($containsSearch){
return $i; //This specifies which index in GroupOfEight contains a matching array
}
}
return -1;
}
// Calling the function that is given above.
echo searcheight($stackArray,$GroupOfEight);
?>
Bất kỳ ý tưởng hoặc giải pháp hợp lý sẽ vui lòng được nhiều đánh giá cao. Cảm ơn.
kết quả mong đợi của bạn là gì ??? – Baba
Đối với $ stackArray giả định, nó sẽ cho 4, là chỉ mục của số chỉ mục con chứa trong $ GroupOfEight – mozcelikors
4 là 'mảng (1,3,5,7,13,15,9,11)' và ' $ stackArray = mảng (0,4,12,1,9,8,5,13,9,2,5,2,10); '.. bạn không thấy 3 bị thiếu trong danh sách ??? – Baba