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


how to remove unwanted values from an array in PHP?

我得到了下面的o/p

["1-3","2-3","1-4","2-4"]
在那我如何删除 1-、2-、

1-、2-

我想要这样的O/P

["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" }

试试这个。

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

这将输出

Array
(
    [0] => 3
    [1] => 3
    [2] => 4
    [3] => 4
)

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

/[^-]+$/

这将返回 - 破折号之后的值如果您需要,这将涵盖您超过 1 位数字。