為啥會出現這種問題呢,我數組越界了?
這是我代碼:
<?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');
2019-01-07
把第五行改成 $filearray = str.split($file);
array(str.split($file))是一個二維數組,你打印出來看一看就知道了。
2019-01-07
嗯嗯,除了第五行代碼改成$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;
}