ホームページ  >  記事  >  バックエンド開発  >  PHP の初級レベルの面接の質問: プログラミングに関する質問 (1)

PHP の初級レベルの面接の質問: プログラミングに関する質問 (1)

韦小宝
韦小宝オリジナル
2017-11-17 09:54:452135ブラウズ

PHP の入門レベルの面接の質問は、仕事を探しているばかりの経験の浅いプログラマー向けのものであり、面接の担当者が私たちをテストするのに非常に役立ちます。今回はインタビューの質問が大きな役割を果たしました。

1. 標準 URL からファイル拡張子をできるだけ効率的に抽出する関数を作成します

例: http://www.php.cn/course.html は html または .html を抽出する必要があります

答え1:

function getExt($url){
   $arr = parse_url($url);
   
   $file = basename($arr['path']);
   $ext = explode(".",$file);
   return $ext[1];
}
答え2:

function getExt($url) {
    $url = basename($url);
    $pos1 = strpos($url,".");
    $pos2 = strpos($url,"?");
    if(strstr($url,"?")){
         return substr($url,$pos1 + 1,$pos2 - $pos1 - 1);
    } else {
      return substr($url,$pos1);
    }
}

2. HTML言語では、ページの先頭にあるメタタグを使用してファイルのエンコード形式を出力できます。標準メタステートメント

標準HTMLページの同様のメタタグ内のcharset部分の値をbig5に変更する関数をPHP言語で記述してください

注意:

1.完全な HTML ページ、つまり、このメタ ステートメントだけではありません
  • 2. 大文字と小文字を無視します
  • 3. ここでは ' と " は交換可能です
  • 4. 'Content-Type' の両側の引用符は、ただし、「text/html; charset=gbk」は両側で機能しません
  • 5. 余分なスペースの処理に注意してください
3. 2つのファイルの相対パスを計算する関数を作成します。

例:

$a = '/a/b/c/d/e.php';
$b = '/a/b/12/34/c.php';

$a に対する $b の相対パスが ../../c/d であることを計算し、() を追加します

答え:

function getRelativePath($a, $b) {   
    $returnPath = array(dirname($b));   
    $arrA = explode('/', $a);   
    $arrB = explode('/', $returnPath[0]);   
    for ($n = 1, $len = count($arrB); $n < $len; $n++) {   
        if ($arrA[$n] != $arrB[$n]) {   
            break;   
        }    
    }   
    if ($len - $n > 0) {   
        $returnPath = array_merge($returnPath, array_fill(1, $len - $n, &#39;..&#39;));   
    }   
       
    $returnPath = array_merge($returnPath, array_slice($arrA, $n));   
    return implode(&#39;/&#39;, $returnPath);   
}   
   echo getRelativePath($a, $b);

4. 関数を書きます。フォルダー ファイルとサブフォルダー内のすべてのファイルをスキャンできます。

答え:

function my_scandir($dir)
{
     $files = array();
     if ( $handle = opendir($dir) ) {
         while ( ($file = readdir($handle)) !== false ) {
             if ( $file != ".." && $file != "." ) {
                 if ( is_dir($dir . "/" . $file) ) {
                     $files[$file] = scandir($dir . "/" . $file);
                 }else {
                     $files[] = $file;
                 }
             }
         }
         closedir($handle);
         return $files;
     }
}
上記の面接の質問を読んだ後でも、心配する必要はありません。その他の面接の質問にも役立ちます。面接中に仕事を見つけてください

関連する推奨事項:

php ジュニア面接の質問 簡単な説明の質問 (1)

php ジュニアの面接の質問 簡単な説明の質問 (2)

phpジュニアの面接の質問の簡単な説明 (3)

PHP の初級レベルの面接の質問の簡単な説明 (4)

以上がPHP の初級レベルの面接の質問: プログラミングに関する質問 (1)の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。