本文介绍了难道是原始的PHP(5+)函数存在,做1线以下?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

 函数array_value_from_key($数组$键)
{
     回!空($数组[$关键])? $阵列[$关键]:空;
}

我想问的原因是因为我有一个类函数返回一个数组。

而不必做

  $ myArray的= MyClass的:: giveMeArray();
$ myvalue的= $ myArray的[$的myKey];

我想做沿

东西线

  $ myvalue的= array_value_from_key(MyClass的:: giveMeArray(),$的myKey);

当返回一个对象,你可以链的对象,如

  $ myvalue的= MyClass的:: giveMeObject() -  GT;安勤;

瞧,非常干净..不是能找到什么似乎是一个简单的和琐碎的功能是让我疯了...

PS ..我想如何使用这种功能一个例子

 如果(arrayKeyVal(ACLASS :: giveMeArray(),$的myKey)){
    做一点事();
}


解决方案

您可以返回的,像这样。

 &LT ;?
MyClass类
{
    公共静态功能的getArray()
    {
        $ ARR =阵列('大卫'=大于1,'鲍勃'=大于2,'詹姆斯'=> 3);
        返回新ArrayObject的($改编,自ArrayObject :: ARRAY_AS_PROPS);
    }
}是$ var = MyClass的::的getArray() - GT;鲍勃;?>
function array_value_from_key($array,$key)
{
     return !empty($array[$key]) ? $array[$key] : null;
}

The reason I ask is because I have a class function that returns an array.

Instead of having to do

$myArray = myClass::giveMeArray();
$myValue = $myArray[$myKey];

I'd like to do something along the lines of

$myValue = array_value_from_key(myClass::giveMeArray(),$myKey);

When an object is returned, you can chain the object such as

$myValue = myClass::giveMeObject()->aValue;

Voila, nice and clean.. not being able to find what seems to be a simple and trivial function is driving me crazy...

PS.. one more example of how I'd like to use such a function

if(arrayKeyVal(aClass::giveMeArray(),$myKey)) {
    do_something();
}
解决方案

You could return an ArrayObject, like so.

<?
class MyClass
{
    public static function getArray()
    {
        $arr = array('dave' => 1, 'bob' => 2, 'james' => 3);
        return new ArrayObject($arr, ArrayObject::ARRAY_AS_PROPS);
    }
}

$var = MyClass::getArray()->bob;

?>

这篇关于难道是原始的PHP(5+)函数存在,做1线以下?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

10-31 21:52