-1

複数の条件付きループがあります

foreach ($fields as $field_key => $value) {

if ($field_key !== 'a' && $field_key !== 'b' && $field_key !== '10200' && $field_key !== 'z' && $field_key !== 'y') {
 ...
//display $value;

}

}

if 句で複数の条件を回避するためにコードを最適化する方法は?

私は{a, b, y, z}例えば in_arraysearch_array

4

5 に答える 5

0

別のオプション。

ignore = array('a', 'b', '10200', 'z', 'y');
$allowed = array_diff_key($fields, array_combine($ignore, $ignore));
foreach ($allowed as $field_key => $field_value) {
    //...
}
于 2013-01-09T13:45:36.133 に答える
0
$array = array('a', 'b', '10200', 'z', 'y');

foreach ($fields as $field_key => $value) {    
    if (!in_array($field_key, $array)) {
    ...
    //display $value;    
    }
}
于 2013-01-09T13:20:07.927 に答える
0

PHP ネイティブin_array()関数を使用してみてください。

$vals = array('a', 'b');

foreach ($fields as $field_key => $value) {

    if (!in_array($field_key, $vals)) {
         ...
        //display $value;

    }

}
于 2013-01-09T13:19:16.380 に答える
0

で試してくださいin_array

$keys = array('a', 'b', '10200', 'z', 'y');

foreach ($fields as $field_key => $value) {
  if ( !in_array($field_key, $keys) ) {
    //display $value;
  }
}
于 2013-01-09T13:19:25.580 に答える
-1

ルックアップテーブルを作成できます。

$exclude = array('a' => true, 'b' => true , '10200' => true , 'z' => true, 'y' => true);

foreach ($fields as $field_key => $value) {
    if (!isset($exclude[$field_key])) {
        //display $value;
    }
}

または、事前に要素を除外します。

$filtered_fields = array_diff_keys($fields, $exclude);

foreach($filtered_fields as $field_key => $value) {
    //display $value;
}
于 2013-01-09T13:23:32.163 に答える