fork download
  1. <?php
  2.  
  3. $data=['Fe+2HCl'=>'FeCl2+H2', 'Zn0+Cl2'=>'ZnCl2', '2H2+O2'=>'2H2O', '2H2O' => '2H2+O2'];
  4.  
  5. function foo (array $a) {
  6. $result = [];
  7. foreach ($a as $key=>$value) {
  8. $elems=explode('+',$value);
  9. foreach ($elems as &$el)
  10. $el = preg_replace ('/^\d*/', '', trim($el));
  11. $result = array_merge ($result, $elems);
  12. }
  13. return array_unique ($result);
  14. }
  15.  
  16. var_dump (foo ($data));
Success #stdin #stdout 0.01s 20568KB
stdin
Standard input is empty
stdout
array(5) {
  [0]=>
  string(5) "FeCl2"
  [1]=>
  string(2) "H2"
  [2]=>
  string(5) "ZnCl2"
  [3]=>
  string(3) "H2O"
  [5]=>
  string(2) "O2"
}