如何在同一个数组中比较一个键的值与另一个键的值

时间:2017-03-09 07:48:21

标签: php arrays

我有一个数组:

Array
(
[0] => Array
    (
        [total_count] => 1
        [view_date] => 2017-03-08
        [rect_title] => demo Company
    )

[1] => Array
    (
        [total_count] => 2
        [view_date] => 2017-03-09
        [rect_title] => demo Company
    )

[2] => Array
    (
        [search_count] => 1
        [search_date] => 2017-03-09
        [rect_title] => demo Company
    )

)

我想比较view_date == search_date是否会显示在

这样的表格中

enter image description here

2 个答案:

答案 0 :(得分:1)

在阵列上使用循环,如果您的阵列名称是 companydetails ,那么您可以像下面一样循环数组。

<?php 
    $size = sizeof(companydetails);
    for($i=0;$i<$size;$i++){
      //You can access every single array element here 
      //if you have the value for search_date the use if condition
      if(search_date == companydetails[$i]['view_date']){
        echo "<tr><td>companydetails[$i]['rect_title']</td><td>companydetails[$i]['total_count']</td><td>companydetails[$i]['view_date']</td><td>any other u have in array</td></tr>"
      }
    }
?>

以上代码将检查数组中的view_date并将其与search_date进行比较,如果条件满足则 tr 将打印其他将跳过并检查另一个数组值

答案 1 :(得分:0)

您可以创建一个以日期为键的新数组。

foreach($array as $v)
{
  $k = isset($v['search_date']) ? $v['search_date'] : $v['view_date'];
  $date[$k][] = $v;
}

然后$ date在子数组中使用相同的search_date或view_date保存元素。