【问题标题】:fetch data inmultidimensional array in PHP [closed]在PHP中获取多维数组中的数据[关闭]
【发布时间】:2013-10-25 03:20:23
【问题描述】:

我有一个问题。

我有这个数组:

Array ( 
    [0] => Array ( 
        [id] => 1 
        [opt] => reg_limit
        [value] => 0 
      ) 
    [1] => Array ( 
        [id] => 3 
        [opt] => pages_offline 
        [value] => [] 
       ) 
    [2] => Array ( 
        [id] => 4 
        [opt] => devolp 
        [value] => TRUE 
       ) 
)

我想检查 [opt] devolp 在第三个数组中是否具有 [value] TRUE。我该怎么办?

【问题讨论】:

  • -1 表示“要求代码的问题必须证明对正在解决的问题有最低限度的了解”。
  • -1 没有证据表明自己尝试编写此代码。阅读有关 PHP 数组的文档可以解决这样简单的问题。

标签: php arrays multidimensional-array


【解决方案1】:

如果您将来会使用一个大数组并且需要一些灵活性,那么这个 foreach 将适合您:

foreach($array as $a) {
    if(array_key_exists("opt", $a) && $a['opt'] == "devolp") {
        if(array_key_exists("value", $a) && $a['value'] == TRUE) {
            echo "Found it!";
            //Do whatever you need to do here....
        }
    }
}

【讨论】:

  • 这种情况下不需要循环。
  • 我明白你的意思。我最初误读了 OP 问题。这就是我赶时间的原因。
  • 是的,有时会发生 :)
【解决方案2】:
$aArray = Array ( 
[0] => Array ( 
    [id] => 1 
    [opt] => reg_limit
    [value] => 0 
  ) 
[1] => Array ( 
    [id] => 3 
    [opt] => pages_offline 
    [value] => [] 
   ) 
[2] => Array ( 
    [id] => 4 
    [opt] => devolp 
    [value] => TRUE 
   ) 
)

foreach($aArray AS $aInnerArray){
  if($aInnerArray['opt'] == 'devolp' && $aInnerArray['value'] == TRUE){
     //YOUR USE CASE
  }
}

【讨论】:

  • 据我了解,OP只需要检查第三项(索引2)==>在这种情况下不需要循环。
  • 也许,这个问题描述得真的很糟糕
【解决方案3】:
if ($array[2]['value']) echo 'true';

【讨论】:

    【解决方案4】:

    由于 OP 的问题在细节上非常模糊,无论他是否知道他需要检查哪个数组键,

    如果您知道需要签入的数组键,则可以使用以下简单示例。

    $bool = $yourMultiDeminsionalArray[2]['value'];
    
    if ($bool) {
    
        //Do some awesome PHP shizzle here
    
    }
    

    【讨论】:

      猜你喜欢
      • 2019-11-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-09-09
      • 1970-01-01
      • 2012-08-10
      • 2014-06-07
      • 1970-01-01
      相关资源
      最近更新 更多