方法一:利用array里的内置函数【推荐使用】
//子数组
$excel_array = array(
'id' => '1',
'name' => 'aa'
);
//主数组
$data_array = array(
0 => array(
'id' => '1',
'name' => 'cc'
),
1 => array(
'id' => '1',
'name' => 'aa'
),
2 => array(
'id' => '2',
'name' => 'bb'
)
);
if(in_array($excel_array, $data_array) === true)
{
echo 1;
}
else{
echo 0;
}
方法二:在方法一无法使用的情况下,可以利用额外方法处理
//子数组
$excel_array_temp = array(
'id' => '1',
'name' => 'aa'
);
$excel_array[] = $excel_array_temp;
//主数组
$data_array = array(
0 => array(
'id' => '1',
'name' => 'cc'
),
1 => array(
'id' => '1',
'name' => 'aa'
),
2 => array(
'id' => '2',
'name' => 'bb'
)
);
$excel_str = preg_replace('/^a:(\d){1,}:{(.*)}$/', '$2', serialize($excel_array));
$excel_str = preg_replace('/i:\d{1,};/', '', $excel_str);
$data_str = preg_replace('/^a:(\d){1,}:{(.*)}$/', '$2', serialize($data_array));
$data_str = preg_replace('/i:\d{1,};/', '', $data_str);
if(stripos($data_str, $excel_str) >= 0)
{
echo 1;
}
else{
echo 0;
}
本文介绍两种在PHP中检查子数组是否存在于主数组的有效方法。首先推荐使用array的内置函数in_array进行快速验证;其次,在内置函数无法满足需求时,提供了一种通过字符串处理实现的备选方案。
1万+

被折叠的 条评论
为什么被折叠?



