日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > php >内容正文

php

php foreach id是否存在数组_请纠正这 5 个 PHP 编码小陋习

發布時間:2023/12/9 php 43 豆豆
生活随笔 收集整理的這篇文章主要介紹了 php foreach id是否存在数组_请纠正这 5 个 PHP 编码小陋习 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

在做過大量的代碼審查后,我經??吹揭恍┲貜偷腻e誤,以下是糾正這些錯誤的方法。

在循環之前測試數組是否為空

$items = [];

// ...

if (count($items) > 0) {

foreach ($items as $item) {

// process on $item ...

}

}

foreach以及數組函數 (array_*) 可以處理空數組。

·????????不需要先進行測試

·????????可減少一層縮進

$items = [];

// ...

foreach ($items as $item) {

// process on $item ...

}

將代碼內容封裝到一個 if 語句匯總

functionfoo(User $user) {

if (!$user->isDisabled()) {

// ...

// long process

// ...

}

}

這不是 PHP 特有的情況,不過我經常碰到此類情況。你可以通過提前返回來減少縮進。

所有主要方法處于第一個縮進級別

functionfoo(User $user) {

if ($user->isDisabled()) {

return;

}

// ...

// 其他代碼

// ...

}

多次調用 isset 方法

你可能遇到以下情況:

$a = null;

$b = null;

$c = null;

// ...

if (!isset($a)|| !isset($b) || !isset($c)) {

throw newException("undefined variable");

}

// 或者

if (isset($a)&& isset($b) && isset($c) {

// process with $a, $b et $c

}

// 或者

$items = [];

//...

if (isset($items['user']) && isset($items['user']['id']) {

// process with $items['user']['id']

}

我們經常需要檢查變量是否已定義,php 提供了 isset 函數可以用于檢測該變量,而且該函數可以一次接受多個參數,所以一下代碼可能更好:

$a = null;

$b = null;

$c = null;

// ...

if (!isset($a,$b, $c)) {

throw newException("undefined variable");

}

// 或者

if (isset($a, $b,$c)) {

// process with$a, $b et $c

}

// 或者

$items = [];

//...

if (isset($items['user'], $items['user']['id'])) {

// process with$items['user']['id']

}

echosprintf方法一起使用

$name = "John Doe";

echo sprintf('Bonjour %s', $name);

看到這段代碼你可能會想笑,不過我的確這樣寫了一段時間,而且我仍然會看到很多這樣寫的!其實echo和sprintf并不需同時使用,printf就可以完全實現打印功能。

$name = "John Doe";

printf('Bonjour %s', $name);

通過組合兩種方法檢查數組中是否存在鍵

$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

}

免責聲明:本文內容轉載自網絡,其版權和著作權屬于原作者。如果涉及侵權請盡快告知,我們將會在第一時間刪除原文鏈接:https://segmentfault.com/a/1190000024487379

總結

以上是生活随笔為你收集整理的php foreach id是否存在数组_请纠正这 5 个 PHP 编码小陋习的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。