The Javascript source of every function is included, and then automatically tested,
based on special comments in the functions's headers, like:
And of course, if there are any syntax errors and such, they will instantly pop-up in
our browsers.
All function tests are enlisted below. These tests are performed Live! in your browser ;)
Run Function Test No. Predefined Returns (live) Debug run all
run array #1 Running: array('Kevin', 'van', 'Zonneveld');
Should return: ['Kevin', 'van', 'Zonneveld'];
run array_change_key_case #1 Running: array_change_key_case(42);
Should return: false
run array_change_key_case #2 Running: array_change_key_case([ 3, 5 ]);
Should return: {0: 3, 1: 5}
run array_change_key_case #3 Running: array_change_key_case({ FuBaR: 42 });
Should return: {"fubar": 42}
run array_change_key_case #4 Running: array_change_key_case({ FuBaR: 42 }, 'CASE_LOWER');
Should return: {"fubar": 42}
run array_change_key_case #5 Running: array_change_key_case({ FuBaR: 42 }, 'CASE_UPPER');
Should return: {"FUBAR": 42}
run array_change_key_case #6 Running: array_change_key_case({ FuBaR: 42 }, 2);
Should return: {"FUBAR": 42}
run array_chunk #1 Running: array_chunk(['Kevin', 'van', 'Zonneveld'], 2);
Should return: {0 : {0: 'Kevin', 1: 'van'} , 1 : {0: 'Zonneveld'}}
run array_combine #1 Running: array_combine([0,1,2], ['kevin','van','zonneveld']);
Should return: {0: 'kevin', 1: 'van', 2: 'zonneveld'}
run array_count_values #1 Running: array_count_values([ 3, 5, 3, "foo", "bar", "foo" ]);
Should return: {3:2, 5:1, "foo":2, "bar":1}
run array_count_values #2 Running: array_count_values({ p1: 3, p2: 5, p3: 3, p4: "foo", p5: "bar", p6: "foo" });
Should return: {3:2, 5:1, "foo":2, "bar":1}
run array_count_values #3 Running: array_count_values([ true, 4.2, 42, "fubar" ]);
Should return: {42:1, "fubar":1}
run array_diff #1 Running: array_diff(['Kevin', 'van', 'Zonneveld'], ['van', 'Zonneveld']);
Should return: ['Kevin']
run array_diff_assoc #1 Running: array_diff_assoc({0: 'Kevin', 1: 'van', 2: 'Zonneveld'}, {0: 'Kevin', 4: 'van', 5: 'Zonneveld'});
Should return: {1: 'van', 2: 'Zonneveld'}
run array_diff_key #1 Running: array_diff_key({red: 1, green: 2, blue: 3, white: 4});
Should return: {"red":1, "green":2, "blue":3, "white":4}
run array_diff_key #2 Running: array_diff_key({red: 1, green: 2, blue: 3, white: 4}, {red: 5});
Should return: {"green":2, "blue":3, "white":4}
run array_diff_key #3 Running: array_diff_key({red: 1, green: 2, blue: 3, white: 4}, {red: 5}, {green: 6, blue: 7});
Should return: {"white":4}
run array_diff_key #4 Running: array_diff_key({red: 1, green: 2, blue: 3, white: 4}, {red: 5}, {red: 5});
Should return: {"green":2, "blue":3, "white":4}
run array_fill #1 Running: array_fill(5, 6, 'banana');
Should return: { 5: 'banana', 6: 'banana', 7: 'banana', 8: 'banana', 9: 'banana', 10: 'banana' }
run array_flip #1 Running: array_flip( {a: 1, b: 1, c: 2} );
Should return: {1: 'b', 2: 'c'}
run array_key_exists #1 Running: array_key_exists('kevin', {'kevin': 'van Zonneveld'});
Should return: true
run array_keys #1 Running: array_keys( {firstname: 'Kevin', surname: 'van Zonneveld'} );
Should return: {0: 'firstname', 1: 'surname'}
run array_map #1 Running: array_map( function(a){return (a * a * a);}, [1, 2, 3, 4, 5] );
Should return: [ 1, 8, 27, 64, 125 ]
run array_pad #1 Running: array_pad([ 7, 8, 9 ], 2, 'a');
Should return: [ 7, 8, 9]
run array_pad #2 Running: array_pad([ 7, 8, 9 ], 5, 'a');
Should return: [ 7, 8, 9, 'a', 'a']
run array_pad #3 Running: array_pad([ 7, 8, 9 ], 5, 2);
Should return: [ 7, 8, 9, 2, 2]
run array_pad #4 Running: array_pad([ 7, 8, 9 ], -5, 'a');
Should return: [ 'a', 'a', 7, 8, 9 ]
run array_pop #1 Running: array_pop([0,1,2]);
Should return: 2
run array_product #1 Running: array_product([ 2, 4, 6, 8 ]);
Should return: 384
run array_push #1 Running: array_push(['kevin','van'], 'zonneveld');
Should return: 3
run array_rand #1 Running: array_rand( ['Kevin'], 1 );
Should return: 0
run array_reduce #1 Running: array_reduce([1, 2, 3, 4, 5], function(v, w){v += w; return v;});
Should return: 15
run array_reverse #1 Running: array_reverse( [ 'php', '4.0', ['green', 'red'] ], true );
Should return: { 2: ['green', 'red'], 1: 4, 0: 'php'}
run array_search #1 Running: array_search('zonneveld', {firstname: 'kevin', middle: 'van', surname: 'zonneveld'});
Should return: 'surname'
run array_shift #1 Running: array_shift(['Kevin', 'van', 'Zonneveld']);
Should return: 'Kevin'
run array_sum #1 Running: array_sum([4, 9, 182.6]);
Should return: 195.6
run array_unique #1 Running: array_unique(['Kevin','Kevin','van','Zonneveld']);
Should return: ['Kevin','van','Zonneveld']
run array_unshift #1 Running: array_unshift(['van', 'Zonneveld'], 'Kevin');
Should return: 3
run array_values #1 Running: array_values( {firstname: 'Kevin', surname: 'van Zonneveld'} );
Should return: {0: 'Kevin', 1: 'van Zonneveld'}
run compact #1 Running: compact('var1', 'var2');
Should return: {}
run count #1 Running: count([[0,0],[0,-4]], 'COUNT_RECURSIVE');
Should return: 6
run count #2 Running: count({'one' : [1,2,3,4,5]}, 'COUNT_RECURSIVE');
Should return: 6
run end #1 Running: end({firstname: 'Kevin', middle: 'van', surname: 'Zonneveld'});
Should return: 'Zonneveld'
run in_array #1 Running: in_array('van', ['Kevin', 'van', 'Zonneveld']);
Should return: true
run range #1 Running: range ( 0, 12 );
Should return: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12]
run range #2 Running: range( 0, 100, 10 );
Should return: [0, 10, 20, 30, 40, 50, 60, 70, 80, 90, 100]
run range #3 Running: range( 'a', 'i' );
Should return: ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i']
run range #4 Running: range( 'c', 'a' );
Should return: ['c', 'b', 'a']
run reset #1 Running: reset({firstname: 'Kevin', middle: 'van', surname: 'Zonneveld'});
Should return: 'Kevin'
run rsort #1 Running: rsort(['Kevin', 'van', 'Zonneveld']);
Should return: true
run shuffle #1 Running: shuffle(['Kevin', 'van', 'Zonneveld']);
Should return: true
run sizeof #1 Running: sizeof([[0,0],[0,-4]], 'COUNT_RECURSIVE');
Should return: 6
run sizeof #2 Running: sizeof({'one' : [1,2,3,4,5]}, 'COUNT_RECURSIVE');
Should return: 6
run sort #1 Running: sort(['Kevin', 'van', 'Zonneveld']);
Should return: true
run get_class #1 Running: get_class(new (function MyClass() {}));
Should return: "MyClass"
run get_class #2 Running: get_class({});
Should return: "Object"
run get_class #3 Running: get_class([]);
Should return: false
run get_class #4 Running: get_class(42);
Should return: false
run get_class #5 Running: get_class(window);
Should return: false
run get_class #6 Running: get_class(function MyFunction() {});
Should return: false
run checkdate #1 Running: checkdate(12, 31, 2000);
Should return: true
run checkdate #2 Running: checkdate(2, 29, 2001);
Should return: false
run checkdate #3 Running: checkdate(03, 31, 2008);
Should return: true
run date #1 Running: date('H:m:s \\m \\i\\s \\m\\o\\n\\t\\h', 1062402400);
Should return: '09:09:40 m is month'
run date #2 Running: date('F j, Y, g:i a', 1062462400);
Should return: 'September 2, 2003, 2:26 am'
run mktime #1 Running: mktime( 14, 10, 2, 2, 1, 2008 );
Should return: 1201871402
run basename #1 Running: basename('/www/site/home.htm', '.htm');
Should return: 'home'
run dirname #1 Running: dirname('/etc/passwd');
Should return: '/etc'
run dirname #2 Running: dirname('c:/Temp/x');
Should return: 'c:/Temp'
run dirname #3 Running: dirname('/dir/test/');
Should return: '/dir'
run file #1 Running: file('http://kevin.vanzonneveld.net/pj_test_supportfile_1.htm');
Should return: {0: '123'}
run file_get_contents #1 Running: file_get_contents('http://kevin.vanzonneveld.net/pj_test_supportfile_1.htm');
Should return: '123'
run call_user_func_array #1 Running: call_user_func_array('isNaN', ['a']);
Should return: true
run call_user_func_array #2 Running: call_user_func_array('isNaN', [1]);
Should return: false
run function_exists #1 Running: function_exists('isFinite');
Should return: true
run get_included_files #1 Running: get_included_files();
Should return: ['http://kevin.vanzonneveld.net/pj_tester.php']
run include #1 Running: include('/pj_test_supportfile_2.js');
Should return: 1
run include_once #1 Running: include_once('/pj_test_supportfile_2.js');
Should return: true
run require #1 Running: require('/pj_test_supportfile_2.js');
Should return: 2
run require_once #1 Running: require_once('/pj_test_supportfile_2.js');
Should return: true
run abs #1 Running: abs(4.2);
Should return: 4.2
run abs #2 Running: abs(-4.2);
Should return: 4.2
run abs #3 Running: abs(-5);
Should return: 5
run abs #4 Running: abs('_argos');
Should return: 0
run rand #1 Running: rand(1, 1);
Should return: 1
run round #1 Running: round(1241757, -3);
Should return: 1242000
run round #2 Running: round(3.6);
Should return: 4
run defined #1 Running: defined('IMAGINARY_CONSTANT1');
Should return: false
run ip2long #1 Running: ip2long( '192.0.34.166' );
Should return: 3221234342
run long2ip #1 Running: long2ip( 3221234342 );
Should return: '192.0.34.166'
run setcookie #1 Running: setcookie('author_name', 'Kevin van Zonneveld');
Should return: true
run preg_quote #1 Running: preg_quote("$40");
Should return: "\\\$40"
run preg_quote #2 Running: preg_quote("*RRRING* Hello?");
Should return: "\\*RRRING\\* Hello\\?"
run preg_quote #3 Running: preg_quote("\\.+*?[^]$(){}=!<>|:");
Should return: "\\\\\\.\\+\\*\\?\\[\\^\\]\\$\\(\\)\\{\\}\\=\\!\\<\\>\\|\\:"
run addslashes #1 Running: addslashes("kevin's birthday");
Should return: "kevin\'s birthday"
run bin2hex #1 Running: bin2hex('Kev');
Should return: '4b6576'
run chr #1 Running: chr(75);
Should return: 'K'
run count_chars #1 Running: count_chars("Hello World!", 3);
Should return: "Helo Wrd!"
run crc32 #1 Running: crc32('Kevin van Zonneveld');
Should return: 1249991249
run echo #1 Running: echo('Hello', 'World');
Should return: null
run explode #1 Running: explode(' ', 'Kevin van Zonneveld');
Should return: {0: 'Kevin', 1: 'van', 2: 'Zonneveld'}
run explode #2 Running: explode('=', 'a=bc=d', 2);
Should return: ['a', 'bc=d']
run html_entity_decode #1 Running: html_entity_decode('Kevin & van Zonneveld');
Should return: 'Kevin & van Zonneveld'
run htmlentities #1 Running: htmlentities('Kevin & van Zonneveld');
Should return: 'Kevin & van Zonneveld'
run htmlspecialchars #1 Running: htmlspecialchars("Test ", 'ENT_QUOTES');
Should return: '<a href='test'>Test</a>'
run htmlspecialchars_decode #1 Running: htmlspecialchars_decode("this -> "
", 'ENT_NOQUOTES');
Should return: 'this -> "
'
run implode #1 Running: implode(' ', ['Kevin', 'van', 'Zonneveld']);
Should return: 'Kevin van Zonneveld'
run join #1 Running: join(' ', ['Kevin', 'van', 'Zonneveld']);
Should return: 'Kevin van Zonneveld'
run levenshtein #1 Running: levenshtein('Kevin van Zonneveld', 'Kevin van Sommeveld');
Should return: 3
run ltrim #1 Running: ltrim(' Kevin van Zonneveld ');
Should return: 'Kevin van Zonneveld '
run md5 #1 Running: md5('Kevin van Zonneveld');
Should return: '6e658d4bfcb59cc13f96c14450ac40b9'
run md5_file #1 Running: md5_file('http://kevin.vanzonneveld.net/pj_test_supportfile_1.htm');
Should return: '202cb962ac59075b964b07152d234b70'
run nl2br #1 Running: nl2br('Kevin\nvan\nZonneveld');
Should return: 'Kevin \nvan \nZonneveld'
run number_format #1 Running: number_format(1234.5678, 2, '.', '');
Should return: 1234.57
run ord #1 Running: ord('K');
Should return: 75
run parse_str #1 Running: parse_str('first=foo&second=bar');
Should return: { first: 'foo', second: 'bar' }
run parse_str #2 Running: parse_str('str_a=Jack+and+Jill+didn%27t+see+the+well.');
Should return: { str_a: "Jack and Jill didn't see the well." }
run rtrim #1 Running: rtrim(' Kevin van Zonneveld ');
Should return: ' Kevin van Zonneveld'
run sha1 #1 Running: sha1('Kevin van Zonneveld');
Should return: '54916d2e62f65b3afa6e192e6a601cdbe5cb5897'
run sha1_file #1 Running: sha1_file('http://kevin.vanzonneveld.net/pj_test_supportfile_1.htm');
Should return: '40bd001563085fc35165329ea1ff5c5ecbdbbeef'
run soundex #1 Running: soundex('Kevin');
Should return: 'K150'
run split #1 Running: split(' ', 'Kevin van Zonneveld');
Should return: {0: 'Kevin', 1: 'van', 2: 'Zonneveld'}
run sprintf #1 Running: sprintf("%01.2f", 123.1);
Should return: 123.10
run str_ireplace #1 Running: str_ireplace('l', 'l', 'HeLLo');
Should return: 'Hello'
run str_pad #1 Running: str_pad('Kevin van Zonneveld', 30, '-=', 'STR_PAD_LEFT');
Should return: '-=-=-=-=-=-Kevin van Zonneveld'
run str_pad #2 Running: str_pad('Kevin van Zonneveld', 30, '-', 'STR_PAD_BOTH');
Should return: '------Kevin van Zonneveld-----'
run str_repeat #1 Running: str_repeat('-=', 10);
Should return: '-=-=-=-=-=-=-=-=-=-='
run str_replace #1 Running: str_replace(' ', '.', 'Kevin van Zonneveld');
Should return: 'Kevin.van.Zonneveld'
run str_replace #2 Running: str_replace(['{name}', 'l'], ['hello', 'm'], '{name}, lars');
Should return: 'hemmo, mars'
run str_rot13 #1 Running: str_rot13('Kevin van Zonneveld');
Should return: 'Xriva ina Mbaariryq'
run str_rot13 #2 Running: str_rot13('Xriva ina Mbaariryq');
Should return: 'Kevin van Zonneveld'
run str_split #1 Running: str_split('Hello Friend', 3);
Should return: ['Hel', 'lo ', 'Fri', 'end']
run strcasecmp #1 Running: strcasecmp('Hello', 'hello');
Should return: 0
run strchr #1 Running: strchr('Kevin van Zonneveld', 'van');
Should return: 'van Zonneveld'
run strchr #2 Running: strchr('Kevin van Zonneveld', 'van', true);
Should return: 'Kevin '
run strcmp #1 Running: strcmp( 'waldo', 'owald' );
Should return: 1
run strcmp #2 Running: strcmp( 'owald', 'waldo' );
Should return: -1
run strip_tags #1 Running: strip_tags('Kevin
van Zonneveld ', ',');
Should return: 'Kevin van Zonneveld '
run stripos #1 Running: stripos('ABC', 'a');
Should return: 0
run stripslashes #1 Running: stripslashes('Kevin\'s code');
Should return: "Kevin's code"
run stristr #1 Running: stristr('Kevin van Zonneveld', 'Van');
Should return: 'van Zonneveld'
run stristr #2 Running: stristr('Kevin van Zonneveld', 'VAN', true);
Should return: 'Kevin '
run strlen #1 Running: strlen('Kevin van Zonneveld');
Should return: 19
run strnatcmp #1 Running: strnatcmp('Price 12.9', 'Price 12.15');
Should return: -1
run strnatcmp #2 Running: strnatcmp('Version 12.9', 'Version 12.15', true);
Should return: -6
run strnatcmp #3 Running: strnatcmp('Version 12.9', 'Version 12.15', false);
Should return: -1
run strpbrk #1 Running: strpbrk('This is a Simple text.', 'is');
Should return: 'is is a Simple text.'
run strpos #1 Running: strpos('Kevin van Zonneveld', 'e', 5);
Should return: 14
run strrev #1 Running: strrev('Kevin van Zonneveld');
Should return: 'dlevennoZ nav niveK'
run strripos #1 Running: strripos('Kevin van Zonneveld', 'E');
Should return: 16
run strrpos #1 Running: strrpos('Kevin van Zonneveld', 'e');
Should return: 16
run strstr #1 Running: strstr('Kevin van Zonneveld', 'van');
Should return: 'van Zonneveld'
run strstr #2 Running: strstr('Kevin van Zonneveld', 'van', true);
Should return: 'Kevin '
run strtolower #1 Running: strtolower('Kevin van Zonneveld');
Should return: 'kevin van zonneveld'
run strtoupper #1 Running: strtoupper('Kevin van Zonneveld');
Should return: 'KEVIN VAN ZONNEVELD'
run substr #1 Running: substr('abcdef', 0, -1);
Should return: 'abcde'
run substr_count #1 Running: substr_count('Kevin van Zonneveld', 'e');
Should return: 3
run substr_count #2 Running: substr_count('Kevin van Zonneveld', 'K', 1);
Should return: 0
run substr_count #3 Running: substr_count('Kevin van Zonneveld', 'Z', 0, 10);
Should return: false
run trim #1 Running: trim(' Kevin van Zonneveld ');
Should return: 'Kevin van Zonneveld'
run trim #2 Running: trim('Hello World', 'Hdle');
Should return: 'o Wor'
run ucfirst #1 Running: ucfirst('kevin van zonneveld');
Should return: 'Kevin van zonneveld'
run ucwords #1 Running: ucwords('kevin van zonneveld');
Should return: 'Kevin Van Zonneveld'
run wordwrap #1 Running: wordwrap('Kevin van Zonneveld', 6, '|', true);
Should return: 'Kevin |van |Zonnev|eld'
run base64_decode #1 Running: base64_decode('S2V2aW4gdmFuIFpvbm5ldmVsZA==');
Should return: 'Kevin van Zonneveld'
run base64_encode #1 Running: base64_encode('Kevin van Zonneveld');
Should return: 'S2V2aW4gdmFuIFpvbm5ldmVsZA=='
run http_build_query #1 Running: http_build_query({ foo: 'bar', baz: 'boom', cow: 'milk', php: 'hypertext processor' }, '', '&');
Should return: 'foo=bar&baz=boom&cow=milk&php=hypertext+processor'
run http_build_query #2 Running: http_build_query({0: 'foo', 1: 'bar', 2: 'baz', 3: 'boom', cow: 'milk', php :'hypertext processor'}, 'myvar_');
Should return: 'myvar_0=foo&myvar_1=bar&myvar_2=baz&myvar_3=boom&cow=milk&php=hypertext+processor'
run urldecode #1 Running: urldecode('Kevin+van+Zonneveld%21');
Should return: 'Kevin van Zonneveld!'
run urlencode #1 Running: urlencode('Kevin van Zonneveld!');
Should return: 'Kevin+van+Zonneveld%21'
run empty #1 Running: empty(null);
Should return: true
run floatval #1 Running: floatval('150.03_page-section');
Should return: 150.03
run floatval #2 Running: floatval('-50 + 8');
Should return: -50
run intval #1 Running: intval('Kevin van Zonneveld');
Should return: 0
run intval #2 Running: intval(4.2);
Should return: 4
run intval #3 Running: intval(42, 8);
Should return: 42
run intval #4 Running: intval('09');
Should return: 9
run is_array #1 Running: is_array(['Kevin', 'van', 'Zonneveld']);
Should return: true
run is_array #2 Running: is_array('Kevin van Zonneveld');
Should return: false
run is_int #1 Running: is_int(186.31);
Should return: false
run is_int #2 Running: is_int(12);
Should return: true
run is_null #1 Running: is_null('23');
Should return: false
run is_null #2 Running: is_null(null);
Should return: true
run is_numeric #1 Running: is_numeric(186.31);
Should return: true
run is_numeric #2 Running: is_numeric('Kevin van Zonneveld');
Should return: false
run is_numeric #3 Running: is_numeric('+186.31e2');
Should return: true
run is_object #1 Running: is_object('23');
Should return: false
run is_object #2 Running: is_object({foo: 'bar'});
Should return: true
run is_object #3 Running: is_object(null);
Should return: false
run is_string #1 Running: is_string('23');
Should return: true
run is_string #2 Running: is_string(23.5);
Should return: false
run isset #1 Running: isset( undefined, true);
Should return: false
run isset #2 Running: isset( 'Kevin van Zonneveld' );
Should return: true
run print_r #1 Running: print_r(1, true);
Should return: 1
run serialize #1 Running: serialize(['Kevin', 'van', 'Zonneveld']);
Should return: 'a:3:{i:0;s:5:"Kevin";i:1;s:3:"van";i:2;s:9:"Zonneveld";}'
run unserialize #1 Running: unserialize('a:3:{i:0;s:5:"Kevin";i:1;s:3:"van";i:2;s:9:"Zonneveld";}');
Should return: ['Kevin', 'van', 'Zonneveld']
run var_export #1 Running: var_export(null);
Should return: null
run utf8_decode #1 Running: utf8_decode('Kevin van Zonneveld');
Should return: 'Kevin van Zonneveld'
run utf8_encode #1 Running: utf8_encode('Kevin van Zonneveld');
Should return: 'Kevin van Zonneveld'
Sorry for using 'Kevin van Zonnveld' so much, but after hours of coding at night, I'm not that
creative anymore ;)
Currently every function has at least 1 'example' & 'returns' comment, so every function can be tested! :D