Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/269.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
stdClass对象的PHP编辑值_Php - Fatal编程技术网

stdClass对象的PHP编辑值

stdClass对象的PHP编辑值,php,Php,我有一个名为$list的数组,它返回多个值,我循环遍历并显示这些值。我需要编辑一个原始值 这是测试的结果 print("<pre>".print_r($list,true)."</pre>"); Array ( [0] => stdClass Object ( [name] => Home [link] => /example/ ) [1] => s

我有一个名为$list的数组,它返回多个值,我循环遍历并显示这些值。我需要编辑一个原始值

这是测试的结果

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
        )    
)