各位好.今天遇到了个问题,可能是我基础知识不够扎实,但试了很多方法,都失败了,一个应该是比较基础的问题.和数组和指针有关系...假设我有一个CLASS.命名class_a调用时$a=new class_a(); //一般都是这样的
$b=$a->aa(1); //调用a类中的aa方法,请不要理会aa方法的内容其中,aa方法返回的值,是一个数组,也就是说打印(print_r)后,$b 的内容是array('num'=1,'data'=2)现在问题来了...
我想实现可以直接将aa方法中的data直接赋值给$b,可通过以下代码实现
$a=new class_a();
$b=$a->aa(1);
$b=$b['data'];
但我想用单行实现.也就是$b=$a->aa(1)['data'] 这样的方式...但PHP报错...
我也试了$b=($a->aa(1))['data'];这样的方法...还是报错...查了很多资料,也没头绪.请教我上面的$b=$a->aa(1)['data']应该如何实现.
$b=$a->aa(1); //调用a类中的aa方法,请不要理会aa方法的内容其中,aa方法返回的值,是一个数组,也就是说打印(print_r)后,$b 的内容是array('num'=1,'data'=2)现在问题来了...
我想实现可以直接将aa方法中的data直接赋值给$b,可通过以下代码实现
$a=new class_a();
$b=$a->aa(1);
$b=$b['data'];
但我想用单行实现.也就是$b=$a->aa(1)['data'] 这样的方式...但PHP报错...
我也试了$b=($a->aa(1))['data'];这样的方法...还是报错...查了很多资料,也没头绪.请教我上面的$b=$a->aa(1)['data']应该如何实现.
function aa(){
//..........
}
function bb(){
return (object)$this->aa();
}
}$a = new class_a();
$b = $a->bb()->data;
用object代替 有什么好处么? 没用过 想学习下
你可以使用
$class->func()->sth
的形式获取值
而不用上面那样多出几个东西,还可以使用链式语法.
以上意见仅供参考.
这样的话.那返回中的num值就得另外用其他方法得到了...
echo phpversion() . '<br>';class class_a {
function aa() {
return array('num' => 1, 'data' => 2);
}
}$a=new class_a();
echo $a->aa(1)['data'];
5.4.3
2不要尝试不可能做到的事情!