$myarray=Array(
[0]=>'unwanted text'
[1]=>'unwanted+needed part1'
[2]=>'needed part2'
[3]=>'needed part3'
[4]=>'unwanted text'
)
我怎样才能只提取所需的部分并将它们组合起来。非常感谢。
答案 0 :(得分:0)
您所使用的功能取决于您的目标,将结合以下功能:array_splice
,array_flip
,array_combine
。
<强> array_splice()强> 允许您通过键偏移提取数组的一部分。它将从源中永久删除元素,并以新数组
返回这些元素<强> array_flip()强> 将键和值转换为键。如果您有多个相同的值,则最后一个值具有优先权。
array_combine()有两个参数:一个键数组和一个值数组,并返回一个关联数组。
但是,您需要提供更多关于您想要做什么的信息,因为我的答案更具体。
答案 1 :(得分: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.
}
}
假设您要加入数组条目并使用字符串作为结果,请使用PHP的implode
函数:$string = implode(' ', $new_array);