0

私の2つの配列値は

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
        ) 

ここでそれらのキーは異なります。両方が数学である場合、私のチェックボックスのみがチェックされます。それ以外の場合はチェックされません。

使ってみた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++;
    }
?>
4

5 に答える 5

0

ああ、私はあなたが何を求めているのか、ようやく理解できたと思います! あなたはこのようなことをしたい:

<?php
foreach($array1 as $a){
    if( in_array($a, $array2))){
        //Value in both

    }
    else{
        //Value only in 1st array   
    }
}
?>
于 2013-06-15T10:43:41.227 に答える
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;
}
于 2013-06-15T10:44:13.823 に答える
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';
}
于 2013-06-15T10:45:17.617 に答える
0

指定された配列の値を持つ配列が必要だと推測すると、array_intersect()この配列には「キーがなく」値のみがあるため、 を使用できます。

于 2013-06-15T10:45:21.960 に答える
0

最も簡単な方法は、array_intersect php 関数を使用して結果を確認することです: http://php.net/manual/en/function.array-intersect.php

于 2013-06-15T11:02:47.843 に答える