firstname = 'bob'; $client->lastname = 'jones'; 所以我想将此数据传递给数组中的脚本...键和值在其他地方设-6ren">
gpt4 book ai didi

PHP fatal error : "Can' t use method return value in write context in. ...“

转载 作者:可可西里 更新时间:2023-11-01 01:08:00 24 4
gpt4 key购买 nike

尝试使用一个期望类似的类:

$client->firstname = 'bob';

$client->lastname = 'jones';

所以我想将此数据传递给数组中的脚本...键和值在其他地方设置。我想遍历将键和值传递给类的数组。尝试使用这个:

while($Val = current($CreateClientData)){

$client->key($CreateClientData) = $Val;
next($CreateClientData);
}

得到这个:

Fatal error: Can't use method return value in write context in blahblahpath on line 40.

Line 40 being: $client->key($CreateClientData) = $Val;

我该怎么做?

最佳答案

如果 $client 已经是某个类的实例,并且 $CreateClientData 是一个数组,那么您可能想做这样的事情:

foreach($CreateClientData as $k => $v) {
$client->{$k} = $v;
}

这当然假定数组中的每个键都是 $client 实例的有效成员。如果不是,那么您必须在分配值之前进行一些额外的检查,或者您必须将分配包装在 try/catch 中。

编辑
关于为什么您的代码不起作用的答案是因为 PHP 不允许将类属性分配给某些返回值的函数。在您的例子中,key($CreateClientData) 返回一个 key 。所以你可以改变你的代码并添加

$key = key($CreateClientData);
$client->$key = $Val;

但是,无论如何,foreach 循环要简洁得多。

关于PHP fatal error : "Can' t use method return value in write context in. ...“,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6810285/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com