$a = array("a","b","c","d");
$b = array("a","x","s","f","g");
$c = array("k","w","a","n","b","x");
$d = array("p","q","j","v","f","x");我的目的是查个数组元素中相同的值,然后输出数组名与相应的值。如:$a = $b = $c 值为 a
$a = $c 值为  b
$b = $c = $d 值为 x……从第一个数组元素开始查别的数组是否存在这个元素,查完后输出存在这个元素的所有数组名,以及这个元素。

解决方案 »

  1.   

    php里面有现成的取数组交集的函数,不知是否满足你的需要
      

  2.   

    array_intersect -- 计算数组的交集$array1 = array("a" => "green", "red", "blue");
    $array2 = array("b" => "green", "yellow", "red");
    $result = array_intersect($array1, $array2);
    这使得 $result 成为: Array
    (
        [a] => green
        [0] => red
    )  
      

  3.   


    <?php
    $a = array("a","b","c","d"); 
    $b = array("a","x","s","f","g"); 
    $c = array("k","w","a","n","b","x"); 
    $d = array("p","q","j","v","f","x"); 
    $arr_join = array_merge($a,$b,$c,$d);
    $arr_uni = array_unique($arr_join);
    foreach ($arr_uni as $arr){
    echo "值$arr&nbsp;&nbsp;";
    if(in_array($arr,$a)) echo "数组a&nbsp;&nbsp;";
    if(in_array($arr,$b)) echo "数组b&nbsp;&nbsp;";
    if(in_array($arr,$c)) echo "数组c&nbsp;&nbsp;";
    if(in_array($arr,$d)) echo "数组d&nbsp;&nbsp;";
    echo "<br>"; 
    }
    ?>
      

  4.   

      到这里是要常来的,自己有什么问题大家可以帮我一起解决,你也可以帮别人解决问题。
    这样对提升自己的php努力是有很大的帮助的。
      

  5.   

    <pre>
    <?php
    $a = array("a","b","c","d"); 
    $b = array("a","x","s","f","g"); 
    $c = array("k","w","a","n","b","x"); 
    $d = array("p","q","j","v","f","x"); 
    $arr_arr = array('a','b','c','d');
    $out = array();for ($i=0;$i<count($arr_arr)-1;$i++){
    foreach (${$arr_arr[$i]} as $v){
    if (!array_key_exists($v,$out)){
    $out[$v][] = '$'.$arr_arr[$i];
    for ($j=$i+1;$j<count($arr_arr);$j++){
    if (in_array($v,${$arr_arr[$j]})) $out[$v][] = '$'.$arr_arr[$j];
    }
    }
    }
    }foreach ($out as $k => $row){
    if (count($row)>1){echo implode(' = ',$row).' 值为 '.$k."\n";}
    }
    ?>
    </pre>