2013-03-19 78 views
0

我有一個腳本,它自帶的一個這樣的數組:從PHP數組中刪除不同條目的特定部分?

[0] => 1_Result1 
[1] => 2_Result2 
[2] => 3_Result3 

但我想它出來是這樣的:

[0] => Result1 
[1] => Result2 
[2] => Result3 

如何才能做到這一點?

+0

'$ var = end(explode('_',$ result));' – user1477388 2013-03-19 20:36:00

+0

Man,user1477388對於這個簡單的解決方案,我無法感謝你! – 2013-03-19 20:43:40

+0

但是,你可以感謝我:通過upvoting!你非常歡迎:) – user1477388 2013-03-19 20:47:50

回答

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

那麼它可以幫助瞭解更多關於如何過濾陣列以及如何形成陣列的特定規則,但要回答您的具體問題:

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); 
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例)