PHP获取二维数组中相同的元素

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了PHP获取二维数组中相同的元素相关的知识,希望对你有一定的参考价值。

比如
array(array('id' => '10'),array('id' => '2'),array('id' => '10'),array('id' => '3'),array('id' => '2'))

怎么获取这个二维数组中相同id的数组有几个。id是多少啊!

参考技术A $a = array(array('id' => '10'),array('id' => '2'),array('id' => '10'),array('id' => '3'),array('id' => '2'));

$ids = array();
foreach($a as $k=>$v)

foreach($v as $value)

if(!in_array($value,$ids))
$ids[] = $value;


foreach($a as $k=>$v)

foreach($v as $value)


foreach($ids as $key=>$id)

if($id == $value)

$res[$key]['id'] = $id;
$res[$key]['num']++;






print_r($ids);
print_r($res);

Array
(
[0] => 10
[1] => 2
[2] => 3
)
Array
(
[0] => Array
(
[id] => 10
[num] => 2
)

[1] => Array
(
[id] => 2
[num] => 2
)

[2] => Array
(
[id] => 3
[num] => 1
)

)本回答被提问者采纳

求问php两个二维数组中每个元素的相加

类似array (size=3)
0 =>
array (size=3)
0 => int 0
1 => int 1
2 => int 2
1 =>
array (size=3)
0 => int 3
1 => int 4
2 => int 5
2 =>
array (size=3)
0 => int 6
1 => int 7
2 => int 8
这种格式的数组,有两个,把它们的每个值相加后,再输出相同的格式。

假设第二个数组和第一个一样,那么理想输出值为:
array (size=3)
0 =>
array (size=3)
0 => int 0
1 => int 2
2 => int 4
1 =>
array (size=3)
0 => int 6
1 => int 8
2 => int 10
2 =>
array (size=3)
0 => int 12
1 => int 14
2 => int 16
要如何遍历以及重组? 我是新手,这类问题不是很好受,麻烦懂的人帮助一下,非常感谢。

<?php
$array_1 = array(array(0,1,2),array(3,4,5),array(6,7,8));
$array_2 = array(array(0,1,2),array(3,4,5),array(6,7,8));
foreach ($array_1 as $k1=>$v1)
    foreach ($v1 as $k2=>$v2)
     $array_1[$k1][$k2] += $array_2[$k1][$k2];
    

echo "<pre>";
print_r($array_1);
echo "</pre>";
?>

运行结果

Array
(
   [0] => Array
       (
           [0] => 0
           [1] => 2
           [2] => 4
       )

   [1] => Array
       (
           [0] => 6
           [1] => 8
           [2] => 10
       )

   [2] => Array
       (
           [0] => 12
           [1] => 14
           [2] => 16
       )

)


望采纳 Thx

参考技术A //假设$a、$b是你的两个数组,下面把$b的值加到$a上
foreach ($a as $k1=>$v1)
    foreach ($v1 as $k2=>$v2) $a[$k1][$k2] += $b[$k1][$k2];

本回答被提问者和网友采纳

以上是关于PHP获取二维数组中相同的元素的主要内容,如果未能解决你的问题,请参考以下文章

PHP中数组比较

php中如何删除二维数组中含有指定元素的所有一维数组?要求如下:

求问php两个二维数组中每个元素的相加

PHP中怎么从一个二维数组中随机取出一个值?

PHP 数组处理

php如何去掉二维数组中重复的元素?