Php 如何在不使用循环的情况下将一个数组拆分为两个不同的数组?
我有一个数组,其中包含如下所示的值Php 如何在不使用循环的情况下将一个数组拆分为两个不同的数组?,php,arrays,laravel,Php,Arrays,Laravel,我有一个数组,其中包含如下所示的值 array:2 [▼ 0 => "11" 1 => "A_15" ] 如何将其拆分为2个阵列 //example array1 store 11 array2 store 15 我使用u作为指示来确定哪个数组应该存储哪个值 我试过的 $arr1 = array_filter($myArr, function($v) { return strpos($v, 'A_') === false; }); $arr2 = array_filter
array:2 [▼
0 => "11"
1 => "A_15"
]
如何将其拆分为2个阵列
//example
array1 store 11
array2 store 15
我使用u作为指示来确定哪个数组应该存储哪个值
我试过的
$arr1 = array_filter($myArr, function($v) { return strpos($v, 'A_') === false; });
$arr2 = array_filter($myArr, function($v) { return strpos($v, 'A_') !== false; });
如何通过删除A_uuu字体来存储该值
或者不使用循环的更好方法?您可以执行以下操作:
$arr = ["A_15","11"];
sort($arr); //Sort the array, which means string starts with letters will go last (A_)
list($arr1, $arr2) = $arr; //Assign the first element to $arr1, 2nd elemnt to $arr2
$arr2 = substr($arr2, 2); //Remove the first 2 characters "A_"
这将导致:
$arr1 = 11
$arr2 = 15
Doc:,您还可以使用.splice()方法根据情景逻辑进行拆分:
var array1=[11,15];
var array2=array1.splice(0,1);
或
在这两种情况下,array2将保留第一部分,array1将保留第二部分。若要将值拆分为两个数组,可以使用with从值中删除
前缀,然后使用将数组分块为数组
$myArr = ['11', 'A_15'];
$myArr = array_chunk(array_map(function($x) { return ltrim($x, 'A_');}, $myArr), 1);
list($a1, $a2) = $myArr;
var_dump($a1);
var_dump($a2);
这将为您提供2个阵列:
array(1) {
[0]=>
string(2) "11"
}
array(1) {
[0]=>
string(2) "15"
}
这是一个看起来很时髦的数组。你试过array\u slice
?array\u filter
也是一种循环。
array(1) {
[0]=>
string(2) "11"
}
array(1) {
[0]=>
string(2) "15"
}