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

来源:2-3 PHP中函数参数详解

慕码人1187127

2018-12-30 13:36

这是我代码:

<?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://img2.mukewang.com/5c28593e0001999908710669.jpgspacer.gif


写回答 关注

2回答

  • _Jack_Han_
    2019-01-07 13:57:29
    已采纳

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

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

  • 慕码人1187127
    2019-01-07 15:24:14

    嗯嗯,除了第五行代码改成$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;

    }


PHP进阶篇-函数

PHP入门必看教程,带你掌握PHP如何自定义函数和分析常见问题

23901 学习 · 49 问题

查看课程

相似问题