【问题标题】:How to take key value from array?如何从数组中获取键值?
【发布时间】:2015-10-31 07:40:07
【问题描述】:

我有一个这样的数组。现在我需要根据键值和该键的值创建一个查询。

$array_value =  Array
    (
        [0] => Array
            (
                [Name] => XisN
                [Email] => xxxx@gmail.com
                [id] => XID
                [Number] => xxx@gmail.com
                [Mark] => xxxx
                [Emp_id] => 0052
            )

        [1] => Array
            (
                [Name] => yyyy
                [Email] => yyy@gmail.com
                [id] => 005YY
                [Number] => yyy@gmail.com
                [Mark] => yyyy
                [Emp_id] => fretw
            )

        [2] => Array
            (
                [Name] => zzzz
                [Email] => zzzz@gmail.com
                [id] => zzzzz
                [Number] => zzzw
                [Mark] => dfsf
                [Emp_id] => dsgsd54
            )

          ...
          ...
          ...
       )

现在我需要检查数组的键值并根据键值生成一些查询。例如,如果键值为emp_id或id,那么我需要生成一些查询;否则,如果键值是一个数字,那么我需要创建一些其他查询。

if(key value is NAME)
{
    $val .= 'NAME = XisN'; 
}else(key value is ID)
{
    $val .= 'ID = XID';
} else {
    $val_2 = 'Number = xxx@gmail.com'
    ..etc
}

这实际上是我想要做的,但我不知道我在 foreach 中做什么。请帮忙。

foreach($array_value as $value)
{
   foreach ($value as $key => $colname)
   {
      if($colname =='Emp_id') {
          $dynamic_qry .= 'Emp_id ='.$colname;
      } elseif($colname =='id') {
          $dynamic_qry  .= 'id ='.$colname;
      } else {
           $dynamic_qry_2  .= $colname' = '.$colname;
      }
   }

【问题讨论】:

  • 您正在 foreach 循环中检查 key_value

标签: php arrays multidimensional-array foreach


【解决方案1】:

试试这个:

<?php
foreach($array_value as $value)
{
    foreach ($value as $key => $colname)
    {
        if ($key === 'Emp_id' || $key === 'id') {
            $dynamic_qry .= $key . '=' . $colname;
        } else {
            $dynamic_qry_2  .= $key . '=' . $colname;
        }
    }
}

【讨论】:

    【解决方案2】:

    列表项

    在你的第二个循环中,$key 是列名,$colname 是值,所以试试这个

    <?php
    foreach($array_value as $value)
    {
       foreach ($value as $key => $val)
        {
          if($key ==='Emp_id') {
              $dynamic_qry .= $key.'='.$val;
          }else if($key ==='id'){
              $dynamic_qry  .= $key.'='.$val;
          }else {
               $dynamic_qry_2  .= $key.'='.$val;
          }
      }
    ?>
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多