从数组值中删除字符

时间:2018-09-24 22:37:46

标签: php arrays

谢谢大家。

我已经拖了整整一天,对我来说太难了!我正在尝试从数组中的每个值中删除最后3个字符。目前,我尝试将其转换为字符串,然后执行操作,然后移至新数组...无法进行任何操作。有人建议这样做,但是不起作用。我需要一个邮政编码数组,“ EC1 2AY,EC3 4XW ...”转换为“ EC1,EC3,...”,然后重新放入数组中!

println()

这没有用,很明显,当我转换为字符串并执行修整功能时,它将只接受字符串中最后一个“变量”的最后3个字符。

请发送帮助!

2 个答案:

答案 0 :(得分:0)

如果要返回数组,则不应该implode。您快要到了:

$area_elements = ['EC1 2AY', 'EC3 4XW'];

$result = array_map(function($v){ 
  return trim(substr($v, 0, -3)); 
}, $area_elements);

var_dump($result);

输出:

array(2) {
  [0]=>
  string(3) "EC1"
  [1]=>
  string(3) "EC3"
}

答案 1 :(得分:0)

另一种解决方案: altering array by reference

摘要

$area_elements = ['EC1 2AY', 'EC3 4XW'];

foreach($area_elements as &$v){ 
  $v = substr($v, 0, -4); 
}

print_r($area_elements);

输出

Array
(
    [0] => EC1
    [1] => EC3
)

实时demo

Pass by reference docs