我也有类似的问题。我有一个数组,我需要从数组的键中提取部分并将它们组合起来。你能建议最好的方法吗?
$myarray=Array(
[0]=>'unwanted text'
[1]=>'unwanted+needed part1'
[2]=>'needed part2'
[3]=>'needed part3'
[4]=>'unwanted text'
)
我怎样才能只提取需要的部分并将它们组合起来。非常感谢。
不完全确定这是否符合您的要求,但是循环和复制到新数组应该基本上可以实现您的结果(一旦您阐明如何决定需要或不需要哪些部分字符串)
$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.
}
}
假设您要连接数组条目并获得一个字符串作为结果,请使用implode
PHP 的函数:$string = implode(' ', $new_array);
根据您想要执行的操作,您所追求的功能将是以下各项的组合:array_splice
、array_flip
、array_combine
。
array_splice() 允许您通过键偏移量提取数组的一部分。它将从源中永久删除元素,并在新数组中返回这些元素
array_flip() 将键转换为值,将值转换为键。如果您有多个相同的值,则最后一个具有优先权。
array_combine()接受两个参数:一个键数组和一个值数组,并返回一个关联数组。
不过,您需要提供有关您想要做什么的更多信息,以便我的回答更具体。