首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >来自foreach循环中数组的PHP比较值

来自foreach循环中数组的PHP比较值
EN

Stack Overflow用户
提问于 2017-01-30 04:51:26
回答 1查看 1.7K关注 0票数 0

我有一个这样的数组(修剪过的)赋值给$rows

代码语言:javascript
复制
array (size=9)
  0 => 
    array (size=2)
      'room_category' => string 'MALE GENERAL WARD' (length=17)
      'vacant_beds' => string 'MG-8,MG-2,MG-4,MG-6,MG-7' (length=24)
  1 => 
    array (size=2)
      'room_category' => string 'FEMALE GENERAL WARD' (length=19)
      'vacant_beds' => string 'FG-4,FG-1,FG-2,FG-3' (length=19)
  2 => 
    array (size=2)
      'room_category' => string 'MOTHER CHILD WARD' (length=17)
      'vacant_beds' => string 'MC-2,MC-4,MC-5,MC-6' (length=19)
  3 => 
    array (size=2)
      'room_category' => string 'TWIN' (length=4)
      'vacant_beds' => string 'TW-A1,TW-A2,TW-B2,TW-C1,TW-C2' (length=29)
  4 => 
    array (size=2)
      'room_category' => string 'NICU' (length=4)
      'vacant_beds' => string 'NICU-6,NICU-1,NICU-7,NICU-3,NICU-8,NICU-4,NICU-5' (length=48)
  5 => 
    array (size=2)
      'room_category' => string 'CLASSIC' (length=7)
      'vacant_beds' => string 'CL-6,CL-8,CL-4,CL-5' (length=19)
  6 => 
    array (size=2)
      'room_category' => string 'DELUXE' (length=6)
      'vacant_beds' => string 'DLX-5,DLX-6' (length=11)
  7 => 
    array (size=2)
      'room_category' => string 'EXECUTIVE' (length=9)
      'vacant_beds' => null
  8 => 
    array (size=2)
      'room_category' => string 'AC GENERAL WARD' (length=15)
      'vacant_beds' => string 'AG-5,AG-1,AG-2,AG-3,AG-4' (length=24)

此数组保存在$occupancies

代码语言:javascript
复制
array (size=21)
  0 => 
    array (size=7)
      'room_name' => string 'CL-12' (length=5)
      'name' => string 'SHIBNATH PATEL' (length=14)
      'ipd' => string '0724/15' (length=7)
      'relation' => string '' (length=0)
      'mobile' => string '9178174433' (length=10)
      'district_city' => string 'SUNDARGARH' (length=10)
      'admission_date' => string '2015-06-15 11:30:00' (length=19)
  1 => 
    array (size=7)
      'room_name' => string 'AG-7' (length=4)
      'name' => string ' SHILPA GUPTA ' (length=14)
      'ipd' => string '0734/15' (length=7)
      'relation' => string 'D/0- PRADEEP KUMAR GUPTA ' (length=25)
      'mobile' => string '9937384641' (length=10)
      'district_city' => string 'SAMBALPUR' (length=9)
      'admission_date' => string '2015-06-15 13:45:00' (length=19)

现在,我希望根据foreach循环中的room_name匹配情况来显示此数组中的值。

我的代码是这样的:

代码语言:javascript
复制
$max_count = 0;
$new_rows =[];
foreach ($rows as $key=>$row){
    $elements=[];
    if(!empty($row['vacant_beds'])){
        $elements = explode(',',$row['vacant_beds']);

        if(sizeof($elements) > $max_count){
            $max_count = sizeof($elements);
        }
    }
    $new_rows[]= [
        'name'=>$row['room_category'],
        'elements'=>$elements,
    ];


}

foreach ($new_rows as $row){
        echo '<tr>';
        echo '<td>'.$row['name'] . '</td>';
        foreach($row['elements'] as $e){

      if ($occupancy['room_name']==$e) {
         echo "<td style='background-color:#CCFFFF;'>
        <div class='occupied'>MG-1<div id='occupied-hover'>       
        Patient Name - $occupancy_patient_name  <br> IPD No. - $occupancy_ipd 
        <br>          
        Guardian - $occupancy_relation <br> Mobile - $occupancy_mobile <br>
         Admission Date - $occupancy_admission_date        
        </div></div> </td>";

    }else{ 
      echo "<td style='background-color:#FFFFCC;'/>$e </td>";

    }     

我的问题是如何遍历$rows数组中的值,以便在上面的foreach迭代中正确显示数组值。

EN

回答 1

Stack Overflow用户

发布于 2017-01-30 05:22:49

你正在使用一些不必要的迭代,为房间创建一个辅助字典,其中key是房间的名称:

代码语言:javascript
复制
$dict = array();
foreach($occupancies as $o)
    $dict[$o['room_name']] = $o; // if you can have more than one person per room you need to have an array here with $dict[$o['room_name']][] = $o;

稍后,您可以使用此字典查找信息,例如:

代码语言:javascript
复制
if (isset($dict[$e])) { /* do the displaying work here */ }
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/41925806

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档