我正在编辑我的控制器脚本,使其运行速度更快,行数更少。我有工作完全正常,但是修改后的版本不断想出这个错误版本,它指向这一行:PHP:调用布尔类型的成员函数格式()...什么
echo Datetime::createFromFormat('m-d-Y',$prodDate[3])->format('Y-m-d');
这很奇怪,页面将显示日期,然后调用错误。所以回声能运行,但它说的错误是在这条线......
错误行之前的行:
$prodName = explode("@", $product['name']);
$prodDate = explode(" ",$prodName[1]);
所以我分裂一个字符串,找到为止。字符串格式为:xxx @ yyy date。我将它爆炸以找到'xxx',然后采用包含'yyy date'的爆炸阵列的[1]索引来查找'date'
当我回显$ prodDate [3 ],它会成功检索日期。然后,我想这个日期存储到我的MySQL表,所以当我使用
echo Datetime::createFromFormat('m-d-Y',$prodDate[3])->format('Y-m-d');
我无法找出问题的所在......这就是最初的剧本(正常工作的那个)类似于对此和它很好地工作
检查的输出'''$ prodDate [3]'''因为它似乎对将导致错误。用字符串替换变量,它工作正常:'''echo datetime :: createFromFormat('md-Y','12 -23-2017') - > format('Ym-d');''' – MrMarlow
如果它是显示日期并报告错误,错误必须与回显不同。 – Barmar
如果'$ prodName [1]'包含'yyy date',那么日期应该在'$ prodDate [1]'中,而不是'$ prodDate [3]'。 – Barmar