为了账号安全,请及时绑定邮箱和手机立即绑定

为啥会出现这种问题呢,我数组越界了?

这是我代码:

<?php

// error_reporting( E_ALL&~E_NOTICE );

function getFunctionExtendName($file){

    $extendname=null;

    $filearray=array(str_split($file));

    for($i=0;$i<strlen($file);$i++){

        if($filearray[$i]=="."){

            $j=$i+1;

            if($j<=strlen($file)){

                $extendname.=$filearray[$j];

            }

        }

    }

    return $extendname;

}

echo getFunctionExtendName('1.php');

echo '<br>';

echo getFunctionExtendName('2.java');

https://img1.sycdn.imooc.com//5c28593e0001999908710669.jpgspacer.gif


正在回答

3 回答

把第五行改成 $filearray = str.split($file);

array(str.split($file))是一个二维数组,你打印出来看一看就知道了。

0 回复 有任何疑惑可以回复我~

亲,我看了一下那部分代码没有问题啊,你换个chrome浏览器试试。

spd10000yqrwvdkgcyqjuvxf

0 回复 有任何疑惑可以回复我~

嗯嗯,除了第五行代码改成$filearray = str.split($file);这样以外,我这函数还有逻辑错误,改成这样即可:

function getFunctionExtendName($file){

    $extendname=null;

    $filearray=str_split($file);

    for($i=strlen($file)-1;$i>0;$i--){

        if($filearray[$i]=="."){

            $j=$i+1;

            for(;$j<=strlen($file);$j++){

                $extendname.=$filearray[$j];

            }

            break;

        }

    }

    return $extendname;

}


0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

为啥会出现这种问题呢,我数组越界了?

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信