ホームページ  >  記事  >  バックエンド開発  >  PHP は複数レベルのディレクトリを再帰的に作成します (面接の質問を解決するプロセス)、php recursion_PHP チュートリアル

PHP は複数レベルのディレクトリを再帰的に作成します (面接の質問を解決するプロセス)、php recursion_PHP チュートリアル

WBOY
WBOYオリジナル
2016-07-12 09:05:33734ブラウズ

PHP は再帰的に複数レベルのディレクトリを作成します (面接の質問を解決するプロセス)、PHP は再帰的に

今日面接の質問を見たので、複数レベルのディレクトリを作成できる関数を書かなければなりませんでした:


私の最初の気持ちは、再帰を使用して作成することです。具体的なアイデアは次のとおりです:

リーリー

出力結果は図のようになります:


しかし、マニュアルのファイル関数を見ると、次のようなプロトタイプの dirname() 関数がありました。 リーリー

わずかに最適化できます:

リーリー

効果は同じです。


その後、インターネットで答えを検索したところ、非常に洞察力に富んだ答えを見つけました:

リーリー

それでは、関数全体を説明しましょう:

まず、PHP の論理演算子の優先順位を導入します:

&& > > or; つまり、関数本体が表示されます。チェン:

is_dir ( $dir ) または (Directory(dirname( $dir )) および mkdir ( $dir , 0777));

まず、ターゲット ディレクトリが存在するかどうかを確認します。存在する場合は、 or の短絡特性に応じて、以下全体が短絡され、ターゲット ディレクトリが存在しない場合は、次の関数本体が実行されます。

Directory(dirname( $dir )) と mkdir ( $dir , 0777)

最初に再帰を実行する目的について考えました。最初に再帰を実行するのは、その親ディレクトリ (dirname($dir)) が作成されたことを確認するためです。これにより、後続の mkdir() 関数がサブディレクトリを作成するときに親を見つけることができなくなります。ディレクトリが警告します。

再帰の深さを入力後、最も深いルートディレクトリが存在することを確認した後、ルートディレクトリから下に向かって順番にディレクトリを作成していきます。


最後に、仕事を探している人は、オンラインで大企業の面接の質問を見つけて、行うことをお勧めします。結局のところ、試験はより包括的で詳細なものであるため、知識を学ぶ際には、野心的になりがちなので、初期関数を正常に使用できるようになるまでに何度か最適化しました。

また、興味深い面接の質問もいくつか見つけて、今後共有する予定です。

このブログ投稿が役立つと思われる場合は、私を推薦するかフォローしてください。質問がある場合は、以下にメッセージを残してください。ありがとうございます。

http://www.bkjia.com/PHPjc/1068263.htmlwww.bkjia.com本当http://www.bkjia.com/PHPjc/1068263.html技術記事 PHP は再帰的にマルチレベルのディレクトリを作成します (インタビューの質問を解決するプロセス)。PHP は今日のインタビューの質問を再帰的に見て、マルチレベルのディレクトリを作成できる関数を書くように私に依頼しました。私の最初の感情は...
でした。
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。