有条件地组合PHP数组

时间:2011-09-11 03:14:58

标签: php arrays

我想将要输出的数组中的值组合为另一个数组,而不是另一个数组。我的问题是最终输出总是另一个数组,而我需要的是使用短划线( - )将另一个值附加到第一个值,依此类推,具体取决于它的存在:

如果全部存在,则应输出a-b-c,如果两个组合中的两个= a-b,a-c,b-c,否则只是a或b或c

  $classes = array('a', 'b', 'c');

  foreach ($classes as $class) {
    if (!empty($block[$class])) {
      // If all is present, should output a-b-c, if two = a-b, a-c, b-c, otherwise simply a or b or c
      $variables['classes_array'][] = ....;
    }
  }

1 个答案:

答案 0 :(得分:1)

我认为这会做你想要的:

$classes = array( 'a', 'b', 'c' );

$variables = array();

foreach( $classes as $class ) {

    if( in_array( $class, $block ) ){
        $variables[] = $class;
    }

}

$variables  = implode( '-', $variables );

echo $variables;