从函数我得到一个像这样的多维数组:
array(
[0] => array(
[0] => 7,
[1] => 18
),
[1] => array(
[0] => 12,
[1] => 7
),
[2] => array(
[0] => 12,
[1] => 7,
[2] => 13
)
)
我需要在主数组中的3个数组中找到重复值。例如,如果值3在3个数组中重复,则返回7.
答案 0 :(得分:7)
<?php
$array = array(array(7,18), array(12,7), array(12, 7, 13));
$result = array();
$first = $array[0];
for($i=1; $i<count($array); $i++){
$result = array_intersect ($first, $array[$i]);
$first = $result;
}
print_r($result);//7
?>
答案 1 :(得分:2)
使用我的自定义功能
function array_icount_values($arr,$lower=true) {
$arr2=array();
if(!is_array($arr['0'])){$arr=array($arr);}
foreach($arr as $k=> $v){
foreach($v as $v2){
if($lower==true) {$v2=strtolower($v2);}
if(!isset($arr2[$v2])){
$arr2[$v2]=1;
}else{
$arr2[$v2]++;
}
}
}
return $arr2;
}
$arr = array_icount_values($arry);
echo "<pre>";
print_r($arr);
exit;
<强>输出强>
Array
(
[7] => 3
[18] => 1
[12] => 2
[13] => 1
)
希望这一定会对你有所帮助。
答案 2 :(得分:1)
$input = array("a" => "green", "red", "b" => "green", "blue", "red");
$result = array_unique($input);
print_r($result);
使用此代码
$array = array(0 => 'blue', 1 => 'red', 2 => 'green', 3 => 'red');
$ key = array_search('green',$ array); // $ key = 2;
答案 3 :(得分:1)
您需要遍历第一个数组,并为其中的每个值查看它是否为in_array()。
$findme = array();
foreach ($array[0] as $key => $value)
{
if (in_array ($value, $array[1]) && in_array ($value, $array[2]))
{
$findme[] = $value;
}
}
// $findme will be an array containing all values that are present in all three arrays (if any).