ホームページ > バックエンド開発 > PHPチュートリアル > PHP プログラミングにおけるこれら 5 つの悪い習慣を必ず取り除きましょう。

PHP プログラミングにおけるこれら 5 つの悪い習慣を必ず取り除きましょう。

coldplay.xixi
リリース: 2023-04-09 16:02:01
転載
4458 人が閲覧しました

PHP プログラミングにおけるこれら 5 つの悪い習慣を必ず取り除きましょう。

#[関連する学習の推奨事項: php グラフィック チュートリアル] #PHP プログラミングにおけるこれら 5 つの悪い習慣は変更する必要があります PHP は世界で最高の言語です。

ループする前に配列が空かどうかをテストしますか?

$items = [];// ...if (count($items) > 0) {    foreach ($items as $item) {        // process on $item ...
    }}复制代码
ログイン後にコピー

foreachループまたは配列関数 (array_*) は空の配列を処理できます。

最初にテストする必要はありません
  • インデントを 1 レベル減らすことができます
  • $items = [];// ...foreach ($items as $item) {    // process on $item ...}复制代码
    ログイン後にコピー
  • メソッドのすべてのコンテンツを if にカプセル化しますstate
function foo(User $user) {    if (!$user->isDisafunction foo(User $user) {    if (!$user->isDisabled()) {        // ...
        // long process
        // ...
    }
}bled()) {        // ...
        // long process
        // ...
    }
}复制代码
ログイン後にコピー

これは PHP 固有のものではありませんが、よく目にします。早めに戻ることで、ミニマリスト コードのインデント レベルを減らすことができます。 関数の「有用な」本体はすべて最初のインデント レベルになりました。

function foo(User $user) {    if ($user->isDisabled()) {        return;
    }    // ...
    // long process
    // ...}复制代码
ログイン後にコピー

isset

Method<div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:php;toolbar:false">$a = null; $b = null; $c = null;// ...if (!isset($a) || !isset($b) || !isset($c)) {    throw new Exception(&quot;undefined variable&quot;); }// orif (isset($a) &amp;&amp; isset($b) &amp;&amp; isset($c) {    // process with $a, $b et $c}// or $items = [];//...if (isset($items['user']) &amp;&amp; isset($items['user']['id']) {    // process with $items['user']['id']}复制代码</pre><div class="contentsignin">ログイン後にコピー</div></div> への複数の呼び出し(

null

の代わりに) 定義されています。 PHP では、isset 関数を使用してこれを行うことができます。そして、この関数は一度に複数のパラメーターを受け入れることができます。 <div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:php;toolbar:false">$a = null; $b = null; $c = null;// ...if (!isset($a, $b, $c)) {    throw new Exception(&quot;undefined variable&quot;); }// orif (isset($a, $b, $c)) {    // process with $a, $b et $c}// or $items = [];//...if (isset($items['user'], $items['user']['id'])) {    // process with $items['user']['id']}复制代码</pre><div class="contentsignin">ログイン後にコピー</div></div>

echo

メソッドと sprintf<div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:php;toolbar:false">$name = &quot;John Doe&quot;;echo sprintf('Bonjour %s', $name);复制代码</pre><div class="contentsignin">ログイン後にコピー</div></div> を組み合わせたこのコードは笑っているかもしれませんが、私がたまたま少し前に書いたものです。そして、私はまだそれをたくさん見ています!

echo

sprintf を組み合わせる代わりに、単純に printf メソッドを使用できます。 <div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:php;toolbar:false">$name = &quot;John Doe&quot;; printf('Bonjour %s', $name);复制代码</pre><div class="contentsignin">ログイン後にコピー</div></div>2 つの方法を組み合わせて配列内のキーの存在を確認する

$items = [    'one_key' => 'John',    'search_key' => 'Jane',
];if (in_array('search_key', array_keys($items))) {    // process}复制代码
ログイン後にコピー

よく見かける最後の間違いは、

in_array

array_keys を組み合わせて使用​​することです。 ###。これらはすべて、array_key_exists を使用して置き換えることができます。

$items = [    'one_key' => 'John',    'search_key' => 'Jane',
];if (array_key_exists('search_key', $items)) {    // process}复制代码
ログイン後にコピー
isset を使用して、値が null かどうかを確認することもできます。
if (isset($items['search_key'])) {    // process}复制代码
ログイン後にコピー
読んでいただきありがとうございます。お役に立てましたら、ナゲッツの「CRMEB」アカウントをフォローしてください。 Code Cloud にはオープンソースのモール プロジェクトとナレッジ支払いプロジェクトがあり、すべて PHP をベースに開発されています。学習や研究にご利用いただけます。フォローして連絡を取り合いましょう!

#関連する学習に関する推奨事項:

php プログラミング(ビデオ)# #

以上がPHP プログラミングにおけるこれら 5 つの悪い習慣を必ず取り除きましょう。の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
php
ソース:juejin.im
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート