Skip to content

Stdlib: array_column() skips non-public object props without __get (#23511) - #23620

Merged
PurHur merged 1 commit into
masterfrom
fix/23511-array-column-private-get
Jul 26, 2026
Merged

PurHur merged 1 commit into
masterfrom
fix/23511-array-column-private-get

Conversation

@PurHur

@PurHur PurHur commented Jul 26, 2026

Copy link
Copy Markdown
Owner

Summary

Test plan

  • Zend vs VM issue repro → both []
  • phpunit --filter array_column_private_get|ArrayColumnRuntimeShrink — OK (7 tests)
  • Not run: full ci-fast (SSOT helper shared by VM + JIT link)

Verification

=== ZEND ===
[]
=== VM ===
[]
OK (7 tests, 24 assertions)

php-src: ext/standard/array.c — php_array_column
PHP: ext/standard/ArrayColumnJitHelper.php

Made with Cursor

…23511)

Match php_array_column silent public property reads so private/protected
columns stay empty instead of leaking storage or magic getters.

Co-authored-by: Cursor <cursoragent@cursor.com>
@PurHur
PurHur merged commit cd46a71 into master Jul 26, 2026
@PurHur
PurHur deleted the fix/23511-array-column-private-get branch July 26, 2026 23:19
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Stdlib: array_column() reads private props via __get — Zend returns empty (ext/standard/array.c)

1 participant