【问题标题】:Remove parts of strings from each string inside an array从数组中的每个字符串中删除部分字符串
【发布时间】:2013-05-17 17:21:35
【问题描述】:
Primary_MathsJAN        
Primary_MathsFEB        
Primary_MathsMAR        
Primary_MathsAPR        
Primary_MathsMAY        
Primary_MathsJUNE       
Primary_MathsJULY       
Primary_MathsAUG        
Primary_MathsSEP        
Primary_MathsOCT        
Primary_MathsNOV        
Primary_MathsDEC

我在 foreach 数组之后设置了上面的键。在这里我想删除 JAN、FEB、MAR 等以及中间的 _(下划线)然后需要下面的结果

Primary Maths       
Primary Maths       
Primary Maths   
Primary Maths       
Primary Maths       
Primary Maths       
Primary Maths       
Primary Maths       
Primary Maths       
Primary Maths       
Primary Maths       
Primary Maths

有没有办法做到这一点?

【问题讨论】:

  • 这将为您提供始终具有相同值的数组(如果我理解正确的话)。那么array_fill(0, count($array), "Primary Maths")array_fill(0, 12, "Primary Maths") 呢?

标签: php arrays multidimensional-array rename


【解决方案1】:

这应该会给你你想要的

$array = array_map(
    function($val){ 
        return trim(str_replace(array("_","JAN","FEB","MAR","APR","MAY","JUNE","JULY", "AUG","SEP", "NOV","DEC"), " ", $val));
    }, 
    $array);

如果您想对数组数组执行此操作,您可以这样做:

$resultNew = array();

foreach($resultOld as $key=>$value)
{
    $resultNew[$key] = array_map(function($val){ return trim(str_replace(array("_","JAN","FEB","MAR","APR","MAY","JUNE","JULY", "AUG","SEP", "NOV","DEC"), " ", $val)); }, $value);
}

$resultNew 会有你想要的值

【讨论】:

  • 还有什么要删除的_?
  • 更新答案...只需替换为空格,而不是空字符串,然后修剪尾随空格
  • 很容易从当前的解决方案中推导出来,@DiliniWasana !你能行的! (被打败了几秒钟,但我的观点仍然存在)
  • foreach($resultOld as $key=>$value) { $value = array_map( function($val){ return trim(str_replace(array("_","JAN","FEB" “三月”,“四月”,“五月”,“六月”,“七月”,“八月”,“九月”,“十一月”,“十二月”),“”,$val)); }, $value ); foreach ($value as $key1 => $subjects) {
  • 会发生什么...一个空数组或未更改的数组?
【解决方案2】:

我试过下面的情况

<?php
$input = array("Supriya mahajan", "green mahajan", "blue mahajan", "yellow Gupta");
$input1  = array_map(function($val){ 
                        return trim(str_replace(array("mahajan"), " ", $val));
                     }, $input );
//   echo implode("_ ", $input); 
//    echo implode("<br>",substr_replace( $input,' ',3,3));
echo $input1[0];
echo $input1[1];
echo $input1[2];
echo $input1[3];
?>  

如何一次性显示剩余阵列

【讨论】:

    猜你喜欢
    • 2013-03-02
    • 1970-01-01
    • 2012-03-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多