» Javascript equivalent for PHP's array_walk
198 PHP equivalents
- PHP.JS Licensing
- PHP.JS SVN
- PHP.JS Namespaced
- abs
- acosh
- acos
- addslashes
- array
- array_change_key_case
- array_chunk
- array_combine
- array_count_values
- array_diff
- array_diff_assoc
- array_diff_key
- array_fill
- array_fill_keys
- array_filter
- array_flip
- array_keys
- array_key_exists
- array_map
- array_merge
- array_merge_recursive
- array_pad
- array_pop
- array_product
- array_push
- array_rand
- array_reduce
- array_reverse
- array_search
- array_shift
- array_slice
- array_sum
- array_unique
- array_unshift
- array_values
- » array_walk
- array_walk_recursive
- asinh
- asin
- atanh
- atan
- base64_decode
- base64_encode
- basename
- base_convert
- bin2hex
- bindec
- call_user_func_array
- ceil
- checkdate
- chr
- chunk_split
- compact
- cosh
- cos
- count
- count_chars
- crc32
- create_function
- date
- decbin
- dechex
- decoct
- defined
- deg2rad
- dirname
- echo
- empty
- end
- explode
- exp
- filesize
- file
- file_exists
- file_get_contents
- floatval
- floor
- fmod
- function_exists
- getrandmax
- get_class
- get_html_translation_table
- get_included_files
- hexdec
- htmlentities
- htmlspecialchars
- htmlspecialchars_decode
- html_entity_decode
- http_build_query
- hypot
- implode
- include
- include_once
- intval
- in_array
- ip2long
- isset
- is_array
- is_bool
- is_finite
- is_infinite
- is_int
- is_nan
- is_null
- is_numeric
- is_object
- is_string
- join
- krsort
- ksort
- lcg_value
- levenshtein
- log10
- log
- long2ip
- ltrim
- max
- md5
- md5_file
- min
- mktime
- mt_getrandmax
- mt_rand
- nl2br
- number_format
- octdec
- ord
- parse_str
- pi
- pow
- preg_quote
- printf
- print_r
- rad2deg
- rand
- range
- require
- require_once
- reset
- round
- rsort
- rtrim
- serialize
- setcookie
- sha1
- sha1_file
- shuffle
- sinh
- sin
- sizeof
- sleep
- sort
- soundex
- split
- sprintf
- sqrt
- strcasecmp
- strchr
- strcmp
- stripos
- stripslashes
- strip_tags
- stristr
- strlen
- strnatcmp
- strncasecmp
- strpbrk
- strpos
- strrev
- strripos
- strrpos
- strstr
- strtolower
- strtoupper
- str_ireplace
- str_pad
- str_repeat
- str_replace
- str_rot13
- str_split
- substr
- substr_count
- tanh
- tan
- time
- trim
- ucfirst
- ucwords
- unserialize
- urldecode
- urlencode
- utf8_decode
- utf8_encode
- var_export
- wordwrap
PHP to Javascript Project: php.js
This article is part of the 'Porting PHP to Javascript' Project, which aims to decrease the gap between developing for PHP & Javascript.
A lot of people are familiar with PHP's functions, and though Javascript functions are often quite similar, some functions may be missing or addressed differently. The Javascript implementations should be as compliant with the PHP versions as possible, a good indication is that the PHP function manual could also apply to the Javascript version.
Porting crucial PHP functions to Javascript can be fun & useful. Currently some PHP functions have been added, but readers are encouraged to contribute and improve functions by adding comments. Eventually the goal is to save all the functions in one php.js file and make it publicly available for your coding pleasure.
If you choose to contribute, let me know how you want to be credited in the function's comments. You may also want to subscribe to RSS so you receive updates whenever new functions are posted.
This is a Javascript version of the PHP function: array_walk.
PHP array_walk
Description
array_walk - Apply a user function to every member of an array
bool array_walk( array &array , callback funcname [, mixed userdata] )
array_walk() is not affected by the internal array pointer of array.array_walk() will walk through the entire array regardless of pointer position.
Parameters
-
array
The input array.
-
funcname
Typically, funcname takes on two parameters. The array parameter's value being the first, and the key/index second.
Note: If funcname needs to be working with the actual values of the array, specify the first parameter of funcname as a reference. Then, any changes made to those elements will be made in the original array itself.
Users may not change the array itself from the callback function. e.g. Add/delete elements, unset elements, etc. If the array that array_walk() is applied to is changed, the behavior of this function is undefined, and unpredictable.
-
userdata
If the optional userdata parameter is supplied, it will be passed as the third parameter to the callback funcname .
Return Values
Returns TRUE on success or FALSE on failure.
See Also
- javascript array_walk_recursive()
- javascript create_function()
- javascript call_user_func_array()
- javascript array_map()
Javascript array_walk
Source
This is the main source of the Javascript version of PHP's array_walk
function array_walk (array, funcname, userdata) { // http://kevin.vanzonneveld.net // + original by: Johnny Mast (http://www.phpvrouwen.nl) // * example 1: array_walk ({'a':'b'}, 'void', 'userdata'); // * returns 1: true // * example 2: array_walk ('a', 'void', 'userdata'); // * returns 2: false var key; if (typeof array != 'object') { return false; } for (key in array) { if (typeof (userdata) != 'undefined') { eval (funcname + '( array [key] , key , userdata )' ); } else { eval (funcname + '( userdata ) '); } } return true; }
Examples
Currently there are 2 examples
Example 1
array_walk ({'a':'b'}, 'void', 'userdata');And that would return
trueExample 2
array_walk ('a', 'void', 'userdata');And that would return
falseMore about this Project
Download php.js
To easily include it in your code, every function currently available is stored in
Normal
- uncompressed source: php.js (222.3kB)
- minified: php.min.js (73.9kB) [recommended]
- compressed: php.packed.js (52.8kB)
Namespaced What is 'namespaced?'
- uncompressed source: php.namespaced.js (275.3kB)
- minified: php.namespaced.min.js (74.2kB)
- compressed: php.namespaced.packed.js (53.2kB)
To download use Right click, Save Link As
Generally the best way is to use a minified version and gzip it
Credits
Respect & awards go to everybody who has contributed in some way so far:
Your name here?
Contributing is as easy as adding a comment with better code, or code for a new function.
Any contribution leading to improvement will directly get your name & link here.
Coming Project features
Project features that we are currently working on:
- Site. A place for php.js of it's own. You can track our lame attempts at phpjs.org. If there are any CakePHP developers out there who would like to help out, please contact me.
- Compile. Compile your own php.js version, with only the functions you need. Should generate a hash with which you can retrieve latest versions of your php.js combination.
- docBlock. Move to docBlock comments for improved compatibility with IDEs.
- Done - Testsuite. A better test-suite that can be ran locally so developers can easily test before commiting. Also the testing itself should be more thorough.
- Done - Versioning. Individual functions are versioned, but the entire library should be versioned as well.
Like this article?
|
Then Dzone it! Or use another bookmark button below to show your support & help me spread the word. |
Hot StuffFlaming articles» Survive heavy traffic with you... | RelatedArticles like this one» PHP.JS Licensing |
tags: programming, php, javascript, phpjs
category: Programming - Javascript - PHP equivalents
read: 878 times










tagcloud
No comments. Be the first!