⑴ php 如果判断一个二维数组中数据是否存在于另一个二维数组中
<?php
$a = array(0=>array('id'=>'aa','b'=>'bbb','c'=>'cc'),1=>array('id'=>'a','b'=>'b','c'=>'c'));
$b = array(0=>array('id'=>'aa','b'=>'bb','c'=>'cc'));
//检查第0个元素是不是相同
if($a[0]!=$b[0])
{
$b[0] = $a[0];
}
//对于多出的记录,存入数据库
if(count($a)>count($b))
{
for($i=1;$i<count($a);$i++)
{
//写入数据库
}
}
?>
⑵ php 判断二维数组里面是否有相同的值
方法一:
$user = array("ID"=>array( "0","1","2"),"Day"=>array("5")); //二维数组
$arrID = $user["ID"];
$str = "2"; //要判断的值
foreach ($arrID as $value){ //遍历数组arrID
if ($str == $value){ //如果要判断的值在数组中,则退出
echo "$str in array";
break;
}
}
方法二:
$user = array("ID"=>array( "0","1","2"),"Day"=>array("5")); //二维数组
$str = "1"; //要判断的值
foreach ($user as $key => $arrKey){ //遍历二维数组
if ($key =="ID" ){ //如果Key=ID
foreach ( $arrKey as $value){//遍历key=ID的数组,在遍历前还可以加一个是否为数组的判断
if ($value == $str){ //如果要判断的值在数组中,则退出
echo "$str is in the array";
break;
}
}
}
}
⑶ PHP判断多维数组值的大小
$arr = [
[1, 2, 3, 4, 5],
[1, 2, 3, 4, 5, 6, 7, 8],
[1, 2, 3, 4, 5, 6, 7]
];
echo count($arr); // 3 二维数组长度
echo count($arr[0]);// 5 二维数组子数组长度
echo count($arr[1]);// 8 二维数组子数组长度
你可以去后盾人平台看看,里面的东西不错
⑷ php 两个二维数组比较,从第一个二维数组中,将第二个二维数组不同项挑选出来,最终合并成为一个新的数组
方法是使用array_udiff函数。代码如下:
function diff_arr($a, $b){
return $a["id"] > $b["id"] ? 1 : ($a["id"] < $b["id"] ? -1 : 0);
}
print_r(array_udiff($arr0, $arr1, "diff_arr"));
⑸ php二维数组和一维数组值比较的问题
这一句中的变量写错了吧
<div>{#$listj[loop].bname#} </div>
应该是<div>{#$listj[loop].biaowei_name#} </div>
⑹ 如何对两个二维数组进行比较
<?php
$a1 = array(1,2,3,4);
$a2 = array(1,2,4,3);
if(count(array_diff($a1,$a2)) == 0)
echo "两数组相同,但排列不一定相同<br>";
if(count(array_diff_assoc($a1,$a2)))
echo "两数组不相同,但值可能相同<br>";
//。。。。
?>
⑺ 如何比较两个二维数组是否相等
方法1:用循环一个一个的比较就行了.
方法2:写个比较函数 如:IsSame(a,b)==true
方法3:把a和b都定义成一个类,然后重载==运算符.就是可以直接判断a==b
方法4:把两个数组相乘,再除以2,看是不是和a相等...(噢, 愚蠢的想法!)
......
其实以上方法实质上都一样,都是调用一个循环来比较.除了LZ说的一个一个读字节判断以外,似乎就没有其他方法了啊......
⑻ php两个二维数组匹配问题
用array_intersect_assoc()函数试试,这个函数的作用是返回两个数组中键和值都相同的元素的交集。
⑼ PHP高手请进。把一个三维数组里的所有二维数组取出来比较,取交集...
//foreach三维,一步步算下去就行
$arr = array(
array('a'=>'1','b'=>'2','c'=>'5','d'=>'56'),
array('a'=>'1','c'=>'5','d'=>'56'),
array('a'=>'1','c'=>'5','e'=>'44'),
array('a'=>'1','c'=>'5','d'=>'56','f'=>'d')
);
if (count($arr)>0)
{
foreach($arr as $key=>$val)
{
if ($key==0)//第一个先取出来
{
$tmp_arr = $val;
}
else
{
$tmp_arr = array_intersect_assoc($tmp_arr,$val);
}
}
}
print_r($tmp_arr);