我有一个脚本,可以像这样生成一个数组:
[0] => 1_Result1
[1] => 2_Result2
[2] => 3_Result3
但是我希望它能像这样出来:
[0] => Result1
[1] => Result2
[2] => Result3
如何做到这一点?
答案 0 :(得分:2)
这可能有助于了解有关如何过滤数组及其形成方式的更具体规则,但要回答您的具体问题:
PHP 5.4:
array_map(function ($elem) { return explode('_', $elem)[1]; }, $arr)
PHP 5.3:
array_map(function ($elem) {
$elem = explode('_', $elem);
return $elem[1];
}, $arr);
答案 1 :(得分:1)
foreach ($array as $key => $item) {
//Cut 2 characters off the start of the string
$array[$key] = substr($item, 2);
}
或者如果你想更加喜欢并切断_
:
foreach ($array as $key => $item) {
//Find position of _ and cut off characters starting from that point
$array[$key] = substr($item, strpos($item, "_"));
}
这适用于PHP 4和5的任何版本。
答案 2 :(得分:0)
这里:
<?php
$results = array( "1_result1", "2_result2", "3_result3", "4_reslut4");
$fixed_results = array();
foreach ($results as $result)
{
$fixed_results[]= substr($result, 2);
}
print_r($fixed_results);
?>
将返回
Array
(
[0] => result1
[1] => result2
[2] => result3
[3] => reslut4
)
警告:只有在知道要删除的前缀大小时才会有效(在本例中为2)