PHP比较两个数组,但在它们周围使用foreach(或alt方法)
我有一个数组:PHP比较两个数组,但在它们周围使用foreach(或alt方法),php,arrays,Php,Arrays,我有一个数组: Array ( [0] => Array ( [Page] => Array ( [id] => 2 ) [PageRevision] => Array ( [PageId] => 1
Array
(
[0] => Array
(
[Page] => Array
(
[id] => 2
)
[PageRevision] => Array
(
[PageId] => 1
[PageRevisionId] => 3
[goldMaster] => 0
)
[PageLanguage] => Array
(
[name] => Contact Page
)
[PageSetting] => Array
(
[url] => contact2
)
)
[1] => Array
(
[Page] => Array
(
[id] => 2
)
[PageRevision] => Array
(
[PageId] => 1
[PageRevisionId] => 2
[goldMaster] => 1
)
[PageLanguage] => Array
(
[name] => Contact Page 2
)
[PageSetting] => Array
(
[url] => contact
)
)
)
我需要做的是,在给定的两个数组中,确定其中一个是否具有比另一个更高的PageRevisionId,以及它的goldMaster是否设置为0。但我正在努力寻找任何方法来实现这一点。您可以将此代码与主数组中的无限个元素一起使用:
if ($array[0]['PageRevision']['PageRevisionId'] > $array[1]['PageRevision']['PageRevisionId']
&& $array[0]['PageRevision']['goldMaster'] == 0) {
// your code
}
$max_pageRevisionId = 0;
$max_goldMaster = 0;
foreach($myarray as $key => $value) {
if($value['PageRevision']['PageRevisionId'] > $max_pageRevisionId) {
$max_pageRevisionId = $value['PageRevision']['PageRevisionId'];
$max_goldMaster = $value['PageRevision']['goldMaster'];
}
}
if($max_goldMaster > 0) {
// Do something
} else {
// Do something else
}
但是我不知道它们的顺序,所以$array2可以将goldMaster设置为0,我不知道,但是谢谢!
$elem = ($array [0]['PageRevision']['PageRevisionId'] > $array [1]['PageRevision']['PageRevisionId'])?
1:
0;
var_dump ($array [0]['PageRevision']['goldMaster '] == 0)