从对象数组的成员创建数组 [英] create array from members of an array of objects

查看:73
本文介绍了从对象数组的成员创建数组的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

你好,

我有以下情况:


$ list []是MyElement对象的数组。


MyElement有两个成员:MyElement-> member1; MyElement-> member2;


我想要的是获得以下内容:


$ newlist []以便:


$ newlist [0] = $ list [0] - > member2;

$ newlist [1] = $ list [1] - > member2;

$ newlist [2] = $ list [2] - > member2;

....


我需要做的事使用单行代码。

有可能吗?怎么做?


我尝试过:


array_walk($ list,create_function(''$ a,$ b,$ result) '',''$ result [] =

$ a-> member2;''),& $ result);


但我得到了以下错误:


警告:已弃用调用时传递引用 - 参数

按值传递;如果您想通过引用传递它,请修改array_walk()的

声明。如果您想启用呼叫时间

传递引用,您可以将

中的allow_call_time_pass_reference设置为真INI文件。但是,未来版本可能不再支持此了。


谢谢

问候

Hello,
I have the following situation:

$list[] is an array of MyElement objects.

MyElement has two members: MyElement->member1; MyElement->member2;

What I want is to get the following:

$newlist[] so that:

$newlist[0]=$list[0]->member2;
$newlist[1]=$list[1]->member2;
$newlist[2]=$list[2]->member2;
....

I need to do this using A SINGLE LINE OF CODE.
Is it possible? How to do this?

I tried with:

array_walk($list,create_function(''$a,$b,$result'','' $result[] =
$a->member2;''), &$result);

but I get the following error:

Warning: Call-time pass-by-reference has been deprecated - argument
passed by value; If you would like to pass it by reference, modify the
declaration of array_walk(). If you would like to enable call-time
pass-by-reference, you can set allow_call_time_pass_reference to true in
your INI file. However, future versions may not support this any longer.

Thank you
Regards

推荐答案

list []是MyElement对象的数组。


MyElement有两个成员:MyElement-> member1; MyElement-> member2;


我想要的是获得以下内容:

list[] is an array of MyElement objects.

MyElement has two members: MyElement->member1; MyElement->member2;

What I want is to get the following:


newlist [] so那:

newlist[] so that:


newlist [0] =
newlist[0]=


这篇关于从对象数组的成员创建数组的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆