Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Primeiramente não ocorre erro algum ao executar a função.
Ocorre tudo normalmente até que eu precise modificar algum valor da array de resultados usando
a função for.
Se eu colocar apenas para imprimir, por exemplo:
<?php
/* Funciona normalmente. */
for($i=0; $i<=count($results); $i++){
echo $results[$i]['coluna']."<br />";
}
?>
Ele funciona, imprimi perfeitamente.
Mas quando eu vou fazer uma alteração, por exemplo:
<?php
/* Ocorre um erro. */
for($i=0; $i<=count($results); $i++){
$results[$i]['coluna'] = 'teste';
}
?>
Ocorre o seguinte erro:
Fatal error: Allowed memory size of 268435456 bytes exhausted (tried to allocate 32 bytes) in /home/USER/PROJECT/app/controllers/fileController.php on line 59
Lembrando que o $results é resultado de uma busca $pdo->FetchAll();
Não entendi...
Eu duplico a array com variáveis diferentes?
Não, qual é o propósito de mudar o array?
Quero formatar a data dentro do array, tipo.
é só um exemplo, tá? rs
function convDate($value){
setlocale(LC_ALL, "pt_BR", "ptb");
$format = '%d de %B %Y';
$converted = strftime($format, strtotime($value));
return $converted;
}
for ($i=0; $i<count($resultsteste['info'])+1; $i++){
$resultsteste['info'][$i]['regdate'] = convDate($resultsteste['info'][$i]['start_time']);
}Uma obervação a query está limitada com 20 resultados somente.
Resolvi aqui, não sei como mas resolvi... '---'
kkk
Pense mais funcional, com menos mutabilidade. Isso evitará esses erros de memória e bugs.
Não mude a variável results, crie uma outra para armazenar as mudanças.