stdClass对象的PHP编辑值
我有一个名为$list的数组,它返回多个值,我循环遍历并显示这些值。我需要编辑一个原始值 这是测试的结果stdClass对象的PHP编辑值,php,Php,我有一个名为$list的数组,它返回多个值,我循环遍历并显示这些值。我需要编辑一个原始值 这是测试的结果 print("<pre>".print_r($list,true)."</pre>"); Array ( [0] => stdClass Object ( [name] => Home [link] => /example/ ) [1] => s
print("<pre>".print_r($list,true)."</pre>");
Array
(
[0] => stdClass Object
(
[name] => Home
[link] => /example/
)
[1] => stdClass Object
(
[name] => Items
[link] => /example/locations/items <-- I want to edit this value
)
[2] => stdClass Object
(
[name] => Paris
[link] => /example/locations/paris
)
)
生产
/范例/
/示例/位置/项目
/示例/地点/巴黎
如果名称键是Items,我需要编辑链接值。我基本上想要删除最后一个URL参数,这样输出看起来像这样
/范例/
/示例/位置
/示例/地点/巴黎
请注意,它并不总是数组中的位置[1],但名称值始终是Items
如何实现这一点?您可以使用,向其传递一个函数,该函数检查名称键是否为项目,如果是,则返回链接键的目录名:
输出:
foreach ($list as $key => $item) {
echo $item->link;
}
array_walk($list, function (&$v) { if ($v->name == 'Items') $v->link = dirname($v->link); });
Array
(
[0] => stdClass Object
(
[name] => Home
[link] => /example/
)
[1] => stdClass Object
(
[name] => Items
[link] => /example/locations
)
[2] => stdClass Object
(
[name] => Paris
[link] => /example/locations/paris
)
)