⑴ 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);