Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

[Dúvida] erro?

So por duvida o meu indice com float nao funciona da erro pq?

<?php

$array = [
1 => 'a',
'1' => 'b',
'1.5' => 1,
true => 'p',
];

foreach ($array as $key){
    echo $key . PHP_EOL;
}
1 resposta
solução!

Ola Levi, na verdade o seu indice com float funciona é que vc está printando o valor e não a key

$array = [
1 => 'a',
'1' => 'b',
'1.5' => 1,
true => 'p',
];

var_dump($array); // adicionei para ver como ficou a array

// quando vc passa apenas um parametro no foreach ele passa a ser o valor
// para ter a chave tem que adicionar $chave => $valor
foreach ($array as $key => $value){
    echo $key . " - " . $value . PHP_EOL;
}

Retorno

Aqui é o retorno do var_dump o que fica claro é que 1, '1' e true são a mesma chave e foi substituído a medida que definiu o array
então sobrou o 'p' no 1 e 1 no '1.5'
array(2) {
  [1]=>
  string(1) "p"
  ["1.5"]=>
  int(1)
}
1 - p
1.5 - 1

Espero ter ajudado