簡體   English   中英

通過數組中的鍵獲取值

[英]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並將$Msgprivate 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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM