我的两个数组值是
1)
Array (
[0] => School Children
[1] => Vocational Training Centre
[2] => Admission Fee
)
2)入场费
Array (
[0] => School Children
[1] => World Ten K
[2] => Vocational Training Centre
[3] => Van travel
[4] => Admission Fee
)
这里他们的密钥是不同的,如果两者都是mathing,只检查我的复选框,否则不会检查它们。
我尝试使用array_search
但没有用,有些情况in_array
。
$main
表示所有值,$temp_imp
是来自数据库的值
<?php
$i=0;
foreach($prj_data as $prj_pop){
$main[]=$prj_pop->name;
?>
<br/><br/>
<input type="checkbox" class="checkbox_project" value="<?php echo $prj_pop->name;?>"
<?php
if (array_intersect($temp_imp, $main))
{
echo 'checked="true"';
}
?>
<?php
echo $prj_pop->name;
$i++;
}
?>
答案 0 :(得分:0)
哦,我想我终于明白了你的要求!你想做这样的事情:
<?php
foreach($array1 as $a){
if( in_array($a, $array2))){
//Value in both
}
else{
//Value only in 1st array
}
}
?>
答案 1 :(得分:0)
这是一个简单的函数,用于查看一个数组的值是否与另一个数组的值匹配。在这种情况下,如果TRUE
中存在所有$array1
值,则会返回$array2
;如果FALSE
找到$array1
中不存在$array2
的值,则返回function array_match($array1, $array2) {
foreach ($array1 as $value) {
if (!in_array($value, $array2)) {
return FALSE;
}
}
return TRUE;
}
{1}}。
{{1}}
答案 2 :(得分:0)
如果要检查是否相等,请尝试此操作:
$array1 = array(
'School Children',
'Vocational Training Centre',
'Admission Fee'
);
$array2 = array(
'School Children',
'World Ten K',
'Vocational Training Centre',
'Van travel',
'Admission Fee'
);
sort($array1);
sort($array2);
if (md5(serialize($array1)) === md5(serialize($array2))) {
echo 'equal';
}
else {
echo 'not equal';
}
答案 3 :(得分:0)
猜测你想要一个包含给定数组中值的数组,你可以使用array_intersect()
,因为这个数组有“无键”,但只有值。
答案 4 :(得分:0)
最简单的方法是使用array_intersect php函数并检查结果:http://php.net/manual/en/function.array-intersect.php