【问题标题】:Php multi array foreach loopphp多数组foreach循环
【发布时间】:2014-06-18 09:57:04
【问题描述】:

我想在这个数组中找到国家 iso 代码:

$countryArray = array(
        'AD' => array(
        'country_name' => 'ANDORRA',
        'dial_code' => '376'
        ),
        'AE' => array(
        'country_name' => 'UNITED ARAB EMIRATES',
        'dial_code' => '971'
        ),
        'AF' => array(
        'country_name' => 'AFGHANISTAN',
        'dial_code' => '93'
        ));

我的情况是:

foreach($countryArray as $row){
    if($row->dial_code == '93'){
        echo $row; //???
    }
}

在 echo 语句中,我想在这个例子中显示 AF。 但结果是错误的。

【问题讨论】:

    标签: php arrays


    【解决方案1】:

    foreach($countryArray as $key => $row){ if($row['dial_code'] == 93){ echo $key; //??? } }

    试试这个,只需在 foreach 循环中使用 $key 变量

    【讨论】:

      【解决方案2】:

      $key=>$value foreach 语句中的对将当前键元素分配给 $key 并将当前值分配给 $value 。我们知道 foreach 语句适用于内部指针。

      $countryArray = array(
          'AD' => array(
          'country_name' => 'ANDORRA',
          'dial_code' => '376'
          ),
          'AE' => array(
          'country_name' => 'UNITED ARAB EMIRATES',
          'dial_code' => '971'
          ),
          'AF' => array(
          'country_name' => 'AFGHANISTAN',
          'dial_code' => '93'
          ));
      foreach($countryArray as $key =>$value){
      if($value['dial_code'] == 93){
          echo $key;
      }
      

      }

      【讨论】:

        【解决方案3】:

        试试这个

        foreach($countryArray as $k => $row){
            if($row["dial_code"] == 93){
                echo $k;
            }
        }
        

        【讨论】:

          【解决方案4】:

          我解决了,下面的代码工作正常

          $countryArray = array(
                  'AD' => array(
                  'country_name' => 'ANDORRA',
                  'dial_code' => '376'
                  ),
                  'AE' => array(
                  'country_name' => 'UNITED ARAB EMIRATES',
                  'dial_code' => '971'
                  ),
                  'AF' => array(
                  'country_name' => 'AFGHANISTAN',
                  'dial_code' => '93'
                  ));
          
          foreach ($countryArray as $keys=> $arraycountry){
              foreach($arraycountry as $key => $value)
              {
                  if($value == '93'){
                      echo $keys; //???
                  }   
              }
          }
          

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 2011-08-30
            • 2011-08-30
            • 2011-06-09
            • 2020-05-17
            • 1970-01-01
            • 2010-10-24
            • 2018-02-09
            相关资源
            最近更新 更多