Hacktoberfest 2026: as issues que os mantenedores marcaram para outubro, abertas e boas para iniciantes. Ver issues do Hacktoberfest

array_map started to obey strict_types directive in PHP 8.6

Aberta
#23,882 2 comentários 0 reações 1 responsável Ver no GitHub

@TimWolla já está trabalhando nisso.

Desde 24/9/2026.

Avaliação

Esta issue ainda não foi avaliada.

Descrição

Bug Status: Verified
Description

The following code:

<?php declare(strict_types=1);

array_map(trim(...), [1]);

Resulted in this output (on PHP 8.6):

PHP Fatal error:  Uncaught TypeError: trim(): Argument #1 ($string) must be of type string, int given in /home/jnoordsij/foo.php:3
Stack trace:
#0 /home/jnoordsij/foo.php(3): trim()
#1 {main}
  thrown in /home/jnoordsij/foo.php on line 3

But I expected this output instead (as it is on PHP 8.5):

(Arguably the first outcome may as well be considered correct/preferable, as there is a type error here; then one could consider this a PHP 8.5 and older bug, but fixing that is probably more impactful)

PHP Version
PHP 8.6.0beta3 (cli) (built: Sep 23 2026 10:57:45) (NTS)
Copyright © The PHP Group and Contributors
Built by Ubuntu
Zend Engine v4.6.0-dev, Copyright © Zend by Perforce
    with Xdebug v3.6.0alpha1, Copyright (c) 2002-2026, by Derick Rethans
    with Zend OPcache v8.6.0beta3, Copyright ©, by Zend by Perforce


Compared to

PHP 8.5.10 (cli) (built: Aug 28 2026 07:23:25) (NTS)
Copyright (c) The PHP Group
Built by Ubuntu
Zend Engine v4.5.10, Copyright (c) Zend Technologies
    with Xdebug v3.5.3, Copyright (c) 2002-2026, by Derick Rethans
    with Zend OPcache v8.5.10, Copyright (c), by Zend Technologies
Operating System

Ubuntu 26.04 (wsl)

Additional notes

Spotted in context of https://github.com/paratestphp/paratest/pull/1130 in https://github.com/paratestphp/paratest/actions/runs/32967771822/job/107268607956?pr=1130#step:5:37 (and subsequently https://github.com/paratestphp/paratest/pull/1138)

Linguagem predominante
C
Estrelas
40.4k
Forks
8.2k
Merge médio
2d 15h
PRs com merge (30d)
113

Guia de contribuição

Abrir o guia de contribuição

Primeiros passos

  1. Leia a issue inteira e depois o guia de contribuição do projeto.
  2. Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
  3. Faça um fork do repositório e trabalhe em uma branch.
  4. Abra um pull request que referencie o número da issue.

Mais de php/php-src

Todas as issues de php/php-src

Issues semelhantes

Mais issues de C

Receba novas issues na sua caixa de entrada

Um resumo curto de issues do GitHub para quem está começando.