【发布时间】:2011-03-10 01:17:25
【问题描述】:
很抱歉,已经晚了,我想不出办法……有人可以帮忙吗?
$users = array(
array(
"name" => "John",
"age" => "20"
),
array(
"name" => "Betty",
"age" => "22"
)
);
$room = array(
"furniture" => array("table","bed","chair"),
"objects" => array("tv","radio","book","lamp"),
"users" => &$users
);
var_dump $room 显示:
...
'users' => &
...
这意味着“用户”是一个参考。
我想做这样的事情:
foreach($room as $key => $val) {
if(is_reference($val)) unset($room[$key]);
}
主要目标是复制没有任何引用的数组。
这可能吗?
谢谢。
【问题讨论】:
-
第一条评论显示了如何做到这一点:php.net/manual/en/language.references.spot.php
-
你想要 $room 没有用户密钥,对吧?可以有其他参考还是只有用户?
-
是的。问题是我有一个大数组,里面有很多交叉引用。我想得到它的一部分,但没有参考。所以简而言之,密钥可能是可变的。我现在有点懒惰,我不想追溯所有当前和未来的参考。
-
顺便说一句..我会尝试 pritaeas 发布的示例...
-
数组中更深层次的引用呢,需要剔除吗?
标签: php arrays reference pass-by-reference