Commit graph

499 commits

Author SHA1 Message Date
Nikita Popov
ad2ef3d97e Add only_integer_keys option to zend_hash_reindex
This allows to either do a full reindex, or only reindex the integer
keys.
2014-04-09 12:31:21 +02:00
Nikita Popov
f485c84a14 Don't always separate splice replacement array
Only perform separation when a typecast is done. Avoids doing a
full hash copy in many cases.
2014-04-09 12:31:21 +02:00
Nikita Popov
22d3eb3117 Add zend_hash_splice
This implements the original functionality of php_splice, but
as an in-place operation, thus avoiding copying the HT.

This is much faster (~10x) if the splice removes a small portion
of the array and doesn't insert many elements.
2014-04-09 12:31:21 +02:00
Nikita Popov
1aa8719e32 Add zend_hash_reindex
The implementation differs from the original in array.c in that it
rehashes the hashtable in the same loop. This is approximately two
times faster (not counting the rare case of a purely associative
array).
2014-04-09 12:31:21 +02:00
Xinchen Hui
c081ce628f Bump year 2014-01-03 11:08:10 +08:00
Nikita Popov
dc4bf922d9 Allow $num=0 in array_fill()
Implemented request #49824.
2013-11-12 22:02:51 +01:00
Sherif Ramadan
98c9e56ef0 Merge branch 'pull-request/287'
Add ability to use array keys with array_filter().
This adds a third (optional) argument to array_filter() that will determine
what gets passed to the callback, the array key, value or both.
The third argument can be one of two constants: ARRAY_FILTER_USE_BOTH or,
ARRAY_FILTER_USE_KEY.
2013-10-30 09:36:19 -04:00
Dmitry Stogov
b0f9768e02 Merge branch 'PHP-5.5'
* PHP-5.5:
  Improved performance of array_merge() by eliminating useless copying

Conflicts:
	NEWS
2013-10-28 13:47:37 +04:00
Dmitry Stogov
5c0890ba8a Improved performance of array_merge() by eliminating useless copying 2013-10-28 13:31:44 +04:00
Tjerk Meesters
75ba75e205 Using only two constants to signal use type intent. 2013-09-28 00:06:04 +08:00
datibbaw
0492145e58 added bitmask variation 2013-09-28 00:06:04 +08:00
datibbaw
a88c7be88b added use_keys argument to array_filter() 2013-09-28 00:06:03 +08:00
Nikita Popov
47ee470992 Make use of direct returns in some places 2013-08-31 13:16:50 +02:00
Christopher Jones
39612afc72 Merge branch 'PHP-5.4' into PHP-5.5
* PHP-5.4:
  Reduce (some) compile noise of 'unused variable' and 'may be used uninitialized' warnings.

Conflicts:
	ext/dba/libinifile/inifile.c
2013-08-14 20:43:25 -07:00
Christopher Jones
9ad97cd489 Reduce (some) compile noise of 'unused variable' and 'may be used uninitialized' warnings. 2013-08-14 20:36:50 -07:00
Veres Lajos
4749457a49 HASH_KEY_NON_EXISTANT fix 2013-07-21 20:09:53 -07:00
Xinchen Hui
c7b58e4967 Merge branch 'PHP-5.4' into PHP-5.5 2013-07-21 21:07:27 +08:00
Xinchen Hui
3380de9774 Fixed bug #65304 (Use of max int in array_sum) 2013-07-21 21:07:19 +08:00
Veres Lajos
e9a95d78ef typo fixes 2013-07-15 00:23:03 -07:00
Veres Lajos
72085b0e5f typo fixes 2013-07-15 00:18:57 -07:00
Anatol Belski
168a5bb6df Merge branch 'PHP-5.4' into PHP-5.5
* PHP-5.4:
  fix uninitialized memory usage
2013-07-14 20:46:19 +02:00
Anatol Belski
add0833681 fix uninitialized memory usage 2013-07-14 20:44:29 +02:00
David Soria Parra
139e9824ad Fix array_colum segfault
Separate zval to avoid gc from freeing
2013-05-15 14:42:39 +02:00
Sara Golemon
734e165d4e array_column() - Use entire subject array when NULL passed for second param.
This starts to look like array_values(), except that you can reindex the arrays
using the third parameter.
2013-04-22 16:19:21 -07:00
Sara Golemon
1a03bd5dee Allow array_column() to take -1 as a valid value in third param
Also do some cleanup and simplification to make this code more
readable in the long term.
2013-04-22 15:54:21 -07:00
Sara Golemon
7b34324f84 Fix handling of double keys in array_column
Also fix resource test to not localize __FILE__ to cwd.
2013-04-21 22:35:04 -07:00
Xinchen Hui
d8a5f41a60 Fixed bug parameter is casted to string of array_column 2013-04-01 19:11:45 +08:00
David Soria Parra
0173c4bab0 Merge branch 'pull-request/257' into PHP-5.5
* pull-request/257:
  array_column: Fix compile-time warnings
  array_column: Removed array_pluck() alias
  array_column: Set array_pluck as an alias for array_column
  array_column: Implement ability to specify an index column
  Cleaning up a memory leak.
  array_column: Adding test for IS_OBJECT and converting object to string
  array_column: Using add_next_index_zval() at nikic's recommendation.
  array_column: Improved tests
  array_column: Cleaning up, as recommended in pull request #56 comments
  Fixing typo in test for array_column()
  Simplify the code and use zend_hash_next_index_insert()
  Adding test for columns not present in all rows for array_column().
  Adding tests for the negative results of array_column()
  Implement new array function array_column()
2013-03-20 13:02:33 +01:00
Ben Ramsey
f5bf1ba88f array_column: Fix compile-time warnings 2013-03-19 20:44:19 -05:00
Nikita Popov
28634bf603 Forgot to remove some now unused variables 2013-03-12 17:39:20 +01:00
Nikita Popov
fcc6611de9 Add support for non-scalar Iterator keys in foreach
RFC: https://wiki.php.net/rfc/foreach-non-scalar-keys
2013-03-12 17:27:31 +01:00
Ben Ramsey
5bc2854b37 array_column: Implement ability to specify an index column 2013-01-11 16:58:31 -06:00
Ben Ramsey
94d5b2519a Cleaning up a memory leak. 2013-01-11 14:16:20 -06:00
Ben Ramsey
20ab30339d array_column: Adding test for IS_OBJECT and converting object to string 2013-01-11 14:16:19 -06:00
Ben Ramsey
66a02eb25e array_column: Using add_next_index_zval() at nikic's recommendation. 2013-01-11 14:16:19 -06:00
Ben Ramsey
e921d28ae3 array_column: Cleaning up, as recommended in pull request #56 comments 2013-01-11 14:16:19 -06:00
Ben Ramsey
6a27b890e6 Simplify the code and use zend_hash_next_index_insert() 2013-01-11 14:16:19 -06:00
Ben Ramsey
9035a1ed24 Implement new array function array_column()
array_column() returns the values of the specified column from a
multi-dimensional array.
2013-01-11 14:16:19 -06:00
Xinchen Hui
a666285bc2 Happy New Year 2013-01-01 16:37:09 +08:00
Xinchen Hui
0a7395e009 Happy New Year 2013-01-01 16:28:54 +08:00
Xinchen Hui
a2045ff332 Happy New Year~ 2013-01-01 16:02:16 +08:00
Xinchen Hui
4cceeb25b7 Merge branch 'PHP-5.3' into PHP-5.4
* PHP-5.3:
  Fixed bug #61730 (Segfault from array_walk modifying an array passed by reference)
2012-05-06 20:28:18 +08:00
Xinchen Hui
7ccd594392 Fixed bug #61730 (Segfault from array_walk modifying an array passed by reference) 2012-05-06 20:01:10 +08:00
Nikita Popov
37d7df72a6 Fix bug #52719: array_walk_recursive crashes if third param of the function is by reference 2012-03-02 18:05:38 +00:00
Nikita Popov
e7810c1f1e Fix bug #52719: array_walk_recursive crashes if third param of the function is by reference 2012-03-02 18:05:38 +00:00
Xinchen Hui
fda8d2fe68 MFH: Fixed bug #61058 (array_fill leaks if start index is PHP_INT_MAX) 2012-03-02 03:40:40 +00:00
Xinchen Hui
33125e2312 Improved fix for #61058, and add test script 2012-02-12 05:32:24 +00:00
Xinchen Hui
c578917e30 Fixed bug #61058 (array_fill leaks if start index is PHP_INT_MAX) 2012-02-12 04:59:08 +00:00
Felipe Pena
e4ca0ed09f - Year++ 2012-01-01 13:15:04 +00:00
Felipe Pena
4e19825281 - Year++ 2012-01-01 13:15:04 +00:00