总是显示致命错误: Cannot use assign-op operators with string offsets

问题描述

总是显示致命错误: Cannot use assign-op operators with string offsets,报错位置是$tf['final_time'][] = array('elt', $s)这一行,请问我该如何修改?

相关代码

   function index(){
        $start ='';
        $end ='';
        $tf ='';
        //            开始时间,结束时间
        if (input('start_time') != null && input('end_time') != null) {
            $start = input('start_time');
            $end = input('end_time');
//                两个时间都不为空
            $s = strtotime($start.' 00:00:00');
            $e = strtotime($end.' 23:59:59');
            $t = (int)$e-365*24*60*60;
            $tj['final_time'][] = array('egt', $s);
            $tj['final_time'][] = array('elt', $e);
            $tf['final_time'][] = array('elt', $s);
            $tf['final_time'][] = array('egt', $t);
            $tf['status']=1;
阅读 4.3k
2 个回答
<?php
function index(){

    $start ='';
    $end ='';
    $tf = [];
    //            开始时间,结束时间
    if (input('start_time') != null && input('end_time') != null) {
        $start = input('start_time');
        $end = input('end_time');
// 两个时间都不为空

        $s = strtotime($start . ' 00:00:00');
        $e = strtotime($end . ' 23:59:59');
        $t = (int)$e - 365 * 24 * 60 * 60;
        $tj['final_time'][] = array('egt', $s);
        $tj['final_time'][] = array('elt', $e);
        $tf['final_time'][] = array('elt', $s);
        $tf['final_time'][] = array('egt', $t);
        $tf['status'] = 1;
    }

将$tf声名为数组或删掉这行

虽然php是弱语言,也不至于把字符串$tf当数组用吧

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题