检查变量是否在数组中

时间:2014-09-02 16:16:14

标签: php

可能已经被问过,但我似乎无法找到我正在寻找的答案。

如何检查变量是否在数组中?

到目前为止,这是我的代码 - 理想情况下,当产品ID也存在于lastUpdatedProduct数组以及productOptions数组中时,我不想回应一些东西。

<?php if ($this->productOptions) { ?>
    <?php foreach ($this->productOptions as $options) {
        $array = $this->lastUpdatedProduct;
        echo '<strong>' . $options['ProductID'] . '</strong>';
            if(in_array($options['CentreID'], $array)) {
                echo 'it exists';
            }
        }
    }?>

继承我的阵列:

array
  0 => 
    array
      'pid' => string '391' (length=3)
  1 => 
    array
      'pid' => string '467' (length=3)
  2 => 
    array
      'pid' => string '474' (length=3)
  3 => 
    array
      'pid' => string '2985' (length=4)
  4 => 
    array
      'pid' => string '2985' (length=4)
  5 => 
    array
      'pid' => string '424' (length=3)

2 个答案:

答案 0 :(得分:1)

  

理想情况下,当产品ID在数组

中时,我不想回应一些东西
if(is_array($options['ProductID'])) { }

Live Preview

修改

  

理想情况下,当产品ID也存在于lastUpdatedProduct数组以及productOptions数组中时,我不想回应一些东西。

if(is_array($this->productOptions)) { 
     foreach($array as $pid) {
       if(in_array($pid, $options['ProductID'])) {
          //echo
       }
     }
}

答案 1 :(得分:1)

问题是$array是一个包含数组的数组,并且您正试图在其中一个内部数组中找到某些内容。试试这个:

foreach ($array as $entry) {
    if (is_array($entry) && in_array($options['CentreID'], $entry))
        echo 'it exists';
}