【问题标题】:PHP Error A non well formed numeric value encountered [duplicate]PHP错误遇到格式不正确的数值[重复]
【发布时间】:2017-09-13 11:26:02
【问题描述】:

PHP:

<p><img src="<?php echo base_url()?>assets/images/calendar.png" alt=""><?php echo date('d m Y', str_replace('/', '-', $pet['pet_lost_date']))?> by <?php echo $pet['reg_first_name'].' '.substr($pet['reg_last_name'], 0, 1);?>.<b></b> </p>

错误:

A non well formed numeric value encountered

它显示错误。我该如何解决这个错误请帮助我。

【问题讨论】:

  • str_replace('/', '-', $pet['pet_lost_date']) 究竟返回了什么?
  • 我猜问题是$pet['pet_lost_date']
  • 13 /10/1996 替换为 13-10-1996

标签: php


【解决方案1】:

date() 将整数时间戳作为第二个参数,而不是字符串。试试strtotime()

echo date('d m Y', strtotime(str_replace('/', '-', $pet['pet_lost_date'])));

但如果您的日期字符串格式正确,请不要替换:

echo date('d m Y', strtotime($pet['pet_lost_date']));

但要小心,因为strtotime() 将带有/ 的日期视为美国风格的日期m/d/Y,而带有- 的日期则视为d-m-Y,或者这就是您要纠正的问题?

【讨论】:

  • 虽然正确,但我相信这个答案可以通过建议省略使用 str_replace 来改进,因为它是多余的,因为“strtotime()”函数可以处理由/ 分隔的日期。跨度>
  • strtotime 处理它们的方式不同,因此 或者这就是您要纠正的问题?。但我澄清了。
猜你喜欢
  • 2019-11-17
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-08-11
  • 2013-05-27
  • 2010-11-19
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多