Endrew Posted May 1, 2006 Share Posted May 1, 2006 I'm having difficulty comparing 2 dimensional arrays. coding :-foreach($ary1 as $row) foreach($row as $col=>$val) ............. ............. I like to add one more array to make comparison. But foreach takes only one array. Is there anyway I can accomplish this. Quote Link to comment Share on other sites More sharing options...
kenrbnsn Posted May 1, 2006 Share Posted May 1, 2006 The foreach() statement takes one dimension at a time.One way to compare two 2-d arrays is to create two temporary arrays consisting of the indices from the original arrays and the serialized content of the 2nd dimension. The compare the temporary arrays.[code]<?php$ary1 = array(array('1','2','3','4'),array('one','two','three','four'),array('1','one','two','2','3','three'));$ary2 = array(array('1','one','two','2','3','three'),array('one','two','three','four'),array('1','2','3','4','5'));$tmp1 = array();$tmp2 = array();foreach ($ary1 as $k => $v) $tmp1[$k] = serialize($v);foreach ($ary2 as $k=> $v) $tmp2[$k] = serialize($v);$result = array_diff($tmp1,$tmp2);?>[/code]Ken Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.