当前位置:  开发笔记 > 编程语言 > 正文

PHP - 编辑多个数组值(如果存在)

如何解决《PHP-编辑多个数组值(如果存在)》经验,为你挑选了2个好方法。

我有一个多维数组.我需要搜索特定范围的值,编辑这些值并返回编辑后的数据.

示例数组:

array(3) {
  ["first"]=>
  array(1) {
    [0]=>
    string(4) "baz1"
  }
  ["second"]=>
  array(1) {
    [0]=>
    string(4) "foo1"
  }
  ["third"]=>
  array(1) {
    [0]=>
    string(4) "foo2"
  }

现在我想找到与foo匹配的任何值(示例数组中的foo1和foo2),在其中插入"-bar"(foo-bar1,foo-bar2)并返回该值.有什么方法可以解决这个问题?

编辑我应该提到foo实际上可能是whatfoo(例如examplefoo1,somethingelsefoo2,blahblahfoo3).我认为这排除了str_replace.



1> Marek..:

如果您的阵列不会非常深,这可以工作.($ array是您想要在以后替换的内容)

$array= array('first' => array('bazi1'), 'second' => array('foo1'), 'third' => array('foo2') );
function modify_foo(&$item, $key)
{
   $item = str_replace('foo', 'foo-bar', $item);
}
array_walk_recursive( $array, 'modify_foo' );

如果你想要foo甚至在somethingelsefoo2中被替换,那么str_replace就可以了.



2> bobwienholt..:

这样的事情怎么样:

function addDashBar($arr)
{
    foreach ($arr as $key => $value)
    {
       if (is_array($value))
           $arr[$key] = addDashBar($value)
       else
       {
           $arr[$key] = str_replace($value, "foo", "foo-bar");
       }
    }

    return $arr;
}

推荐阅读
我我檬檬我我186
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有