fork download
  1. <?php
  2.  
  3. $arr = [
  4. 'itemName0' => "first Item",
  5. 'itemDesc0' => "first item's description",
  6. 'itemName1' => "second item",
  7. 'itemName2' => "third item's description",
  8. 'testKey1' => "Should be ignored",
  9. 'itemData' => "No numeric, so should also be ignored"
  10. ];
  11.  
  12. $newArray = [];
  13. foreach($arr as $key => $value) {
  14. list($keyName, $keyNumber) = sscanf($key, 'item%[A-Za-z]%d');
  15. if (!is_null($keyNumber)) {
  16. $newArray[$keyNumber]['item'.$keyName] = $value;
  17. }
  18. }
  19.  
  20. var_dump($newArray);
Success #stdin #stdout 0.02s 52472KB
stdin
Standard input is empty
stdout
array(3) {
  [0]=>
  array(2) {
    ["itemName"]=>
    string(10) "first Item"
    ["itemDesc"]=>
    string(24) "first item's description"
  }
  [1]=>
  array(1) {
    ["itemName"]=>
    string(11) "second item"
  }
  [2]=>
  array(1) {
    ["itemName"]=>
    string(24) "third item's description"
  }
}