如何在PHP中从数组中删除不需要的值?

如何在PHP中从数组中删除不需要的值?,php,arrays,explode,Php,Arrays,Explode,我得到了下面的订单 ["1-3","2-3","1-4","2-4"] 那我怎么才能去掉1-,2-,1-,2- 我要这样的付款交单 ["3","3","4","4"] 只需遍历数组中的每个元素并将其分解: $arr = ["1-3","2-3","1-4","2-4"]; array_walk($arr, function(&$val){ $val = explode("-",$val)[1]; }); var_dump($arr); //array(4) { [0]=

我得到了下面的订单

["1-3","2-3","1-4","2-4"]
那我怎么才能去掉1-,2-,1-,2-

我要这样的付款交单

["3","3","4","4"]

只需遍历数组中的每个元素并将其分解:

$arr = ["1-3","2-3","1-4","2-4"];

array_walk($arr, function(&$val){
    $val = explode("-",$val)[1];
});

var_dump($arr);

//array(4) { [0]=> string(1) "3" [1]=> string(1) "3" [2]=> string(1) "4" [3]=> string(1) "4" }

如果假设破折号是两个字符串(或数字)之间的分隔符,则需要一些正则表达式

/[^-]+$/
这将返回-破折号后面的值 如果您需要,这将涵盖超过1位数的费用

试试这个

<?php 
$input= array('1-3','2-3','1-4','2-4');
$newArr = array();
foreach($input as $key =>$val)
{
    $a = explode('-',$val);
    $newArr[]= $a[1];
}
echo "<pre>"; print_r($newArr);
?>

对不起,数组(4){[0]=>string(1)“3”[1]=>string(1)“3”[2]=>string(1)“4”[3]=>string(1)“4”}这不正是你想要的@KarnaGowtham吗?我想要这样的o/p“[“3”、“3”、“4”、“4”]”这正是我写的结果。没有键就不能有数组值。请使用
print\r
代替
var\u dump
。var_dump向你展示了“隐藏”的钥匙。亲爱的@Barnala,谢谢你
Array
(
    [0] => 3
    [1] => 3
    [2] => 4
    [3] => 4
)