0

我也有类似的问题。我有一个数组,我需要从数组的键中提取部分并将它们组合起来。你能建议最好的方法吗?

$myarray=Array(
[0]=>'unwanted text'

[1]=>'unwanted+needed part1'

[2]=>'needed part2'

[3]=>'needed part3'

[4]=>'unwanted text'

)

我怎样才能只提取需要的部分并将它们组合起来。非常感谢。

4

2 回答 2

0

不完全确定这是否符合您的要求,但是循环和复制到新数组应该基本上可以实现您的结果(一旦您阐明如何决定需要或不需要哪些部分字符串)

$myarray = array(…);
$new_array = array();
$unwanted = 'some_string';
foreach($myarray as $k => $v) {
  $new_value = preg_replace("/^$unwanted/", '', $v); # replace unwanted parts with empty string (removes them);
  if(!empty($new_value)) { # did we just remove the entry completely? if so, don't append it to the new array
    $new_array[] = $v; # or $new_array[$k] if you want to keep indices.
  }
}

假设您要连接数组条目并获得一个字符串作为结果,请使用implodePHP 的函数:$string = implode(' ', $new_array);

于 2012-11-18T12:59:09.640 回答
0

根据您想要执行的操作,您所追求的功能将是以下各项的组合:array_splicearray_fliparray_combine

array_splice() 允许您通过键偏移量提取数组的一部分。它将从源中永久删除元素,并在新数组中返回这些元素

array_flip() 将键转换为值,将值转换为键。如果您有多个相同的值,则最后一个具有优先权。

array_combine()接受两个参数:一个键数组和一个值数组,并返回一个关联数组。

不过,您需要提供有关您想要做什么的更多信息,以便我的回答更具体。

于 2012-11-18T12:56:03.703 回答