[英]How to use trim with array_map in PHP
我試圖從數組映射中的每行末尾(如果存在)刪除兩個字符。
這些字符並不總是存在
所以我正在嘗試轉換
Array ( [0] => C7130A-B [1] => RB2-8120 [2] => RM1-1082-000B [3] => 0950-4768B [4] => C7130B )
到
Array ( [0] => C7130A [1] => RB2-8120 [2] => RM1-1082-000 [3] => 0950-4768 [4] => C7130 )
基本上,我試圖從最后消除 B 或 -B,我找到了一種方法可以在字符串上執行此操作,但不能在數組上執行此操作。
我已經嘗試了很多我在 Stack 上找到的選項,但遺憾的是沒有運氣。
function cleanit($s) {
return rtrim($s, "B");
}
$words = strtoupper($words);
$toBeFound = explode(PHP_EOL, $words);
$war = array_map('cleanit', $toBeFound);
echo('Begin<br>');
print_r($war);
echo('<br>End');
到目前為止,我得到的最好結果是從數組中的最后一項中刪除 B(或 -B)。 這是這段代碼的結果。
Array ( [0] => C7130A-B [1] => C7130B [2] => RM1-1082-000B [3] => 0950-4768B [4] => C7130 )
您可以像這樣使用帶有 preg_replace 的正則表達式($ 僅在字符串末尾刪除):
$myArray = array('C7130A-B', 'RB2-8120', 'RM1-1082-000B', '0950-4768B', 'C7130B');
function cleanit($val)
{
return preg_replace('/(-B|B)$/','',$val);
}
$resultArray = array_map('cleanit', $myArray);
print_r($resultArray);
Array ( [0] => C7130A [1] => RB2-8120 [2] => RM1-1082-000 [3] => 0950-4768 [4] => C7130 )
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.