php變數存取權限問題?

來源:互聯網
上載者:User
方法代碼:

function deleteSegment($vsuuid) {    $num = db("test")->exec("DELETE FROM t_segment_index WHERE vs_uuid='$vsuuid'");    if($num == 1) {        $del = db("test")->exec("DELETE FROM t_video_segment WHERE vs_uuid='$vsuuid'");        if($del == 1){            $vsu = $vsuuid;            $videoMsg = db("test")->getQuery("SELECT * FROM `t_video` where v_segments_list like '%$vsuuid%' limit 1");            if(empty($videoMsg))                return $del;            $segments = $videoMsg[0]["v_segments_list"];            $v_uuid = $videoMsg[0]["v_uuid"];            $oldSegmentArray = explode("\n", $segments);            $newSegmentArray = array_filter($oldSegmentArray, function($s){                if($s === $vsuuid)                    return false;                else                    return true;            });            $newSegments = implode("\n", array_values($newSegmentArray));            $updateV = db("test")->exec("UPDATE t_video SET v_segments_list = '$newSegments' WHERE v_uuid='$v_uuid'");            return 1;        } else            return 0;    } else        return 0;}

代碼執行到if($s === $vsuuid)的時候報錯如下:
Notice: Undefined variable: vsuuid in /Applications/XAMPP/xamppfiles/htdocs/waaa-web/runtime/service_Admin.php on line 1526


請問是什麼原因導致的?該怎麼解決呢?

回複內容:

方法代碼:

function deleteSegment($vsuuid) {    $num = db("test")->exec("DELETE FROM t_segment_index WHERE vs_uuid='$vsuuid'");    if($num == 1) {        $del = db("test")->exec("DELETE FROM t_video_segment WHERE vs_uuid='$vsuuid'");        if($del == 1){            $vsu = $vsuuid;            $videoMsg = db("test")->getQuery("SELECT * FROM `t_video` where v_segments_list like '%$vsuuid%' limit 1");            if(empty($videoMsg))                return $del;            $segments = $videoMsg[0]["v_segments_list"];            $v_uuid = $videoMsg[0]["v_uuid"];            $oldSegmentArray = explode("\n", $segments);            $newSegmentArray = array_filter($oldSegmentArray, function($s){                if($s === $vsuuid)                    return false;                else                    return true;            });            $newSegments = implode("\n", array_values($newSegmentArray));            $updateV = db("test")->exec("UPDATE t_video SET v_segments_list = '$newSegments' WHERE v_uuid='$v_uuid'");            return 1;        } else            return 0;    } else        return 0;}

代碼執行到if($s === $vsuuid)的時候報錯如下:
Notice: Undefined variable: vsuuid in /Applications/XAMPP/xamppfiles/htdocs/waaa-web/runtime/service_Admin.php on line 1526


請問是什麼原因導致的?該怎麼解決呢?

array_filter($oldSegmentArray, function($s) use($vsuuid) {    return $s !== $vsuuid;});

順便幫你改下下函數...

function deleteSegment($vsuuid) {    $res = db("test")->exec("DELETE FROM t_segment_index, t_video_segment WHERE vs_uuid='$vsuuid'");    if( !$res ) return 0;    $videoMsg = db("test")->getQuery("SELECT * FROM `t_video` where v_segments_list like '%$vsuuid%' limit 1");    if( empty($videoMsg) ) return 0;    $segments = $videoMsg[0]["v_segments_list"];    $v_uuid = $videoMsg[0]["v_uuid"];    $oldSegmentArray = explode("\n", $segments);    $newSegmentArray = array_filter($oldSegmentArray, function($s) use($vsuuid) { return $s !== $vsuuid; });    $newSegments = implode("\n", array_values($newSegmentArray));    return $updateV = db("test")->exec("UPDATE t_video SET v_segments_list = '$newSegments' WHERE v_uuid='$v_uuid'");}

閉包(Closure) 中使用外部函數,function($param) use($otherParam){}

  • 聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.