路老闆個人品牌網站
0
  • 會員登入
  • 關於我們
    回主選單
    • 關於我們
  • 服務項目
  • 我的錄音小間
  • 課程活動
    回主選單
    • 線上課程
    • 預約服務
    • 活動報名
  • 商品總覽
  • 創作與紀錄
    回主選單
    • 部落格
    • 影像紀錄
    • Podcast
    • 我的作品
  • 最新消息
  • 聯絡我們
  • Join us
  • Login
  • 0
    路老闆個人品牌網站
  • 關於我們
    關於我們
  • 服務項目
  • 我的錄音小間
  • 課程活動
    線上課程 預約服務 活動報名
  • 商品總覽
  • 創作與紀錄
    部落格 影像紀錄 Podcast 我的作品
  • 最新消息
  • 聯絡我們
部落格
  • 文章總覽
  • 分類
  • 技術筆記
  • 日本旅遊
  • 網站搬家
  • 時事觀察
  • 投資理財
  • 公司經營
  • 主機架設
  • 接案
  • 遊戲心得
  • 產品開箱
  • 網頁相關
  • 金流串接
  • 遊戲經濟
  • 閒聊
  • 直銷
  • CodeIgniter
  • cpanel
  • 出書材料
  • 個人品牌
  • SEO
  • 讀書心得
  • 金流物流
  • 線上課程心得
  • 日劇
    • 大河劇
      • 真田丸
  • AI
91app ClubHouse php8 imunify360 cdn apache php nginx linode digitalocean
  1. 首頁
  2. 部落格
  3. [php] 從 array 中取值 / get an element from an array

[php] 從 array 中取值 / get an element from an array

2013 Jan 18 未分類

這是個再簡單不過的問題了

$value = $arr[$key];

不就搞定了嘛?

因為我常用一個 array 的方式
把一整沱的東西 傳進 function 裡面

用 array 的好處是
如果某個參數不需要傳遞的時候
空下來就好

如果用 function parameter 的方式
會變成這樣

call_function(null, null, null, need_value);
會變很醜

而且時間久了
誰知道第幾個參數是什麼意思?

以跟隨法人的某一段 function code 來說


function get_list($para=array())

{
$type = @$para['type'];
$action = @$para['action'];
$size = @$para['size'];

}

我會用這種方法去傳遞參數
但是這個其實不是標準用法
我只是用 @ 的方式把錯誤訊息避開
寫 code 的時候很忌諱這種方法
因為你只是裝做沒看到錯誤
錯誤還是存在的

而且如果 CodeIgniter 有開 log 記錄一些錯誤訊息
你就會看到你的 log 充滿了這種記錄

ERROR - 2013-01-18 05:43:34 --> Severity: Notice  --> Undefined variable: pare /Applications/XAMPP/xamppfiles/htdocs/stock/application/models/broker_trade.php 88


意思就是
這種錯誤的寫法遲早要改的啦!!!

剛查了一下如何檢查 array 中是否有某個 key/value 的 pair 的相關 function
歸納出這個寫法


$symbol = array_key_exists('symbol', $para) ? $para['symbol'] : null;

這樣 php 就不會噴 error
而且就算沒有傳數值進來, 接收的變數也會收到 null
只要之後的 error handling 有做好就好


--
2013-04-01 補充
果然人家早就把這種 function 寫好了
請參考 CodeIgniter Array Helper
一行搞定

element()

從陣列中讀取元素,此函數會檢查陣列索引是否已設定,且陣列值是否存在。若存在則傳回陣列值,否則傳回False或是任何你所指定的預設值(透過函數第三個參數設定)。參考範例如下:
$array = array('color' => 'red', 'shape' => 'round', 'size' => '');

// 回傳 "red"
echo element('color', $array);

// 回傳 NULL
echo element('size', $array, NULL);

















  • 分享此文章
0則留言

相關文章

偵測網站是否為 wordpress

[Linode] Ubuntu 11.04 安裝 Gnome3

不付維護費 誰要幫你維護?

休憩? QK?

CyberDuck 4.2.1 無法正常複製目錄

整個公司沒有建築師 房屋照蓋照賣

關於路老闆

推薦連結

  • Alice 你的理財陪跑教練
  • 羅鈞鴻/小虎老師
  • 徐慧玲Lynn
  • 寶寶牙醫 沈醫師
  • 保險資訊懶人包
  • 你的好感度教練
  • 天下為暢

聯絡我們

  • Email: louis@boss-louis.tw
  • 營業時間: 09:00~18:00
  • 聯絡電話: 02-77252950
  • 地址: 106 台北市大安區忠孝東路四段270號17樓
  • 隱私權政策
COPYRIGHT ©路老闆個人品牌網站 All rights reserved | Powered by 路老闆