2

私はすでにこれを試しました:

<?php
function checkForOrange($farben) {
     foreach($farben as $element) {
            if(in_array('orange',$element) || in_array('Orange',$element)) {
           return $so;
      }
      return false;
}
}
$so = checkForOrange($farben);
if (!empty($so)) { echo "nothing"; }
if (isset($so)) { echo "daa"; }
?>

しかし、sfefrsefdeas をチェックしても、常に "daa" が返されます。誰かが私にこれのための実用的なコードを教えてもらえますか?

4

3 に答える 3

3

多次元配列の値の存在をチェックする関数。

関数は true または false を返します。一般的に使用できます。

function search_in_array($value, $array) {
     if(in_array($value, $array)) {
          return true;
     }
     foreach($array as $item) {
          if(is_array($item) && search_in_array($value, $item))
               return true;
     }
   return false;
}

実施例

--------- 編集 ----------- コメントと配列の例に基づく

function check_in_array($value, $array, $key){
 foreach($array as $item){
  if($item[$key] == $value)
  return true;
  }
 return false;
}

そして、このように呼び出すかcheck_in_array('orange', $array, 'FacetValueName');



check_in_array('orange', $array, 'FacetValueName') && check_in_array('Orange', $array, 'FacetValueName') && check_in_array('dark orange', $array, 'FacetValueName')

一度に複数の値をチェックするためにこれを呼び出します。

実施例

于 2013-09-18T09:27:37.477 に答える
0

これは、多次元配列に値が存在するかどうかを確認するために作成した関数です。

function is_val_exists($needle, $haystack) {
     if(in_array($needle, $haystack)) {
          return true;
     }
     foreach($haystack as $element) {
          if(is_array($element) && is_val_exists($needle, $element))
               return true;
     }
   return false;
}

次のように使用できます。

is_val_exists('your_value', $your_array);

your_value が $your_array に存在する場合は true を返します。

于 2015-03-06T05:44:13.473 に答える