為啥會(huì)出現(xiàn)這種問(wèn)題呢,我數(shù)組越界了?
這是我代碼:
<?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))是一個(gè)二維數(shù)組,你打印出來(lái)看一看就知道了。
2019-01-07
嗯嗯,除了第五行代碼改成$filearray = str.split($file);這樣以外,我這函數(shù)還有邏輯錯(cuò)誤,改成這樣即可:
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;
}