本文介绍了难道是原始的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线以下?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!