<?php function extractTest() { $test = 'wrong{}'; global ${$test}; ${$test} = 'this'; var_dump(${$test}); } extractTest(); var_dump(${'wrong{}'}); $test = array('one' => 1, '2' => 'two', '_3' => 'three', 'wrong{}' => 'wrong', 'spaces here', 'spaces'); extract($test); var_dump(get_defined_vars()); function testme() { $extracted = array('Cue' => 'Apple', 'Answer' => 'Fruit', 'bad{}' => 'wrong', '1more' => 'once'); extract($extracted, EXTR_PREFIX_INVALID, 'correction_'); var_dump(get_defined_vars()); } testme();
fclose($f); return $data; } $handle = opendir('./feedparsertests/wellformed/'); $tests_passed = array(); $tests_failed = array(); $all_tests = array(); while (false !== ($dir = readdir($handle))) { if (!preg_match('/^\\./', $dir) and is_dir('./feedparsertests/wellformed/' . $dir)) { $tests_passed[$dir] = array(); $tests_failed[$dir] = array(); $allTests[$dir] = array(); $innerHandle = opendir('feedparsertests/wellformed/' . $dir); while (false !== ($file = readdir($innerHandle))) { if (preg_match('/.xml$/', $file)) { $parts = extractTest($dir . '/' . $file); $theseTests = testToPHP($parts['expect']); foreach ($theseTests as $thisKey => $thisTest) { $allTests[$dir][$file . '_' . $thisKey] = $thisTest; } } } $iterTests = array_filter($allTests[$dir], 'applyFilters'); $fw = fopen('./convertedtests/' . $dir . '.php', 'w'); fwrite($fw, $template . $dir . "_TestCase extends XML_Feed_Parser_TestCase {\n"); foreach ($iterTests as $key => $test) { $funcname = str_replace('.xml', '', $key); $funcname = str_replace('.', '_', $funcname); $file = preg_replace('/(.*)_.*/', '$1', $key); fwrite($fw, ' function test_' . $funcname . ' () {