[英]get a value by the key from an array
我有一個靜態的Tools
類,在其中定義了一個getMsg()
方法來檢索一個具有鍵和值的variable:array:
private $Msg = array()
public static function getMsg()
{
return $this->Msg;
}
然后在另一個類中按如下方式使用此變量:
Tools::getMsg()['key'] = $this->message;
我的問題是,我想通過提供鑰匙來獲得價值。 我了解php函數
array_search —在數組中搜索給定值,如果成功,則返回第一個對應的鍵
但是有沒有功能可以在數組中搜索給定的鍵? 我不知道我上面代碼的語法是否正確,所以如果不正確,我可能需要使用一個函數。
這是Msg數組的示例:
$Msg = array('Class1' => 'File does not exist',
'Class2' => 'Error in timestamp format')
要訪問陣列,不需要使用內置函數。 只需按以下方式訪問數組。
$arr = array('foo' => 42, 'bar' => 'rab', 'baz' => false); // example array
echo $arr['bar']; // will output 'rab'
$key = 'foo';
echo $arr[$key]; // will output 42
附帶說明:您不能在靜態上下文中使用$this
。 使用self::$Msg
並將$Msg
為private static $Msg
,或者使訪問完全不是靜態的。 您的代碼可能遵循以下幾行。
private static $Msg = array();
public static function getMsg()
{
return self::$Msg;
}
<?php
class Tools
{
private static $Msg = [];
public static function getMsg($key)
{
return self::$Msg[$key]
}
}
$message = Tools::getMsg('test'); // returns Tools::$Msg['test']
我認為PHP中沒有“靜態類”。 雖然不確定其他語言。 使用self::
訪問同一類中的靜態屬性/方法
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.