我正在尝试将数组分成两个独立的数组。例如,如果我有这样的数组
Array([0]=>Hello[1]=>I'm[2]=>Cam)
我想将其拆分为两个数组并添加另一个字符串
Array1([0]=>Hello[1]=>There,)
Array2([0]=>I'm[1]=>Cam)
然后最后将两者加在一起
Array([0]=>Hello[1]=>There,[2]=>I'm[3]=>Cam)
最简单的方法是什么? 我知道我可以使用数组合并将两者放在一起,但我不知道如何在某一点上将它们分开。
我也是在一个不断变大的大文件上做这个,所以我不能使用array_chunk()
答案 0 :(得分:1)
查看您的最终结果目标,我认为使用array_splice
可以使用$arrayVarOriginal = array('Hello', 'Im', 'Cam');
$arrayVarExtra = array('There');
array_splice($arrayVarOriginal, 1, 0, $arrayVarExtra);
更短的方法来插入数组的中间....
Array([0]=>Hello[1]=>There,[2]=>Im[3]=>Cam)
这会让你回复$arrayVarOriginal = array('Hello', 'Im', 'Cam');
$array1stPart = array(arrayVarOriginal[0], 'There');
$array2ndPart = array_shift($array1stPart);
$finalArray = array_merge($array1stPart, $array2ndPart);
,就像你想要的那样!
以上内容避免了必须拆分数组。
<强>无论其强>
如果你确实想要这么做,那就是你的意思......
array_shift
如何? $array2ndPart
删除了任何数组中的第一项,因此我们可以更轻松地获取$array1stPart
....和$arrayVarOriginal
,因为我们可以手动构建一个全新的数组并将其取出来自array_shift
的第一个项目位于第0位,并将'There'添加为我们自己的新职位1。
希望有帮助:)
array_splice
,array_merge
和<?php
if (strpos($fields->field, 'qsl_') !== false){
$question = DB::table('cs_question')->join('api_field', 'api_field.field', '=', 'cs_question.question_id')
->where('cs_question.question_id', $fields->field )->get();
foreach ($question as $questions)
$questionnya = $questions->question;
}else{
$questionnya = 'empty question';
}
?>
是您需要了解的内容。
答案 1 :(得分:0)
根据您的问题,这里一步一步地得到您想要的最终输出。
1)拆分数组
$arr = array('Hello', 'I\'m', 'Cam');
$slice = count($arr) - 1;
$arr1 = array_slice($arr, 0, -$slice);
$arr2 = array_slice($arr,1);
所以,您在此处获得了两个新数组$arr1
和$arr2
2)添加新字符串
$arr1[] = "There";
3)最后,组合数组
$arr = array_merge($arr1, $arr2)
此处print_r
$arr
Array
(
[0] => Hello
[1] => There
[2] => I'm
[3] => Cam
)
答案 2 :(得分:0)
array_slice第二个参数是您要拆分的位置。因此,您可以通过计算数组长度来动态执行此操作。
$string = array("Hello","I'm","Cam");
$firstArray = array_slice($string ,0,1);
array_push($firstArray,"There,");
$secondArray = array_slice($string ,1,2);
echo "<pre>";
print_r($firstArray);
echo "==========="."<pre>";
print_r($secondArray);
echo "<pre>";
print_r(array_merge($firstArray,$secondArray));
//out put
Array
(
[0] => Hello
[1] => There,
)
===========
Array
(
[0] => I'm
[1] => Cam
)
Array
(
[0] => Hello
[1] => There,
[2] => I'm
[3] => Cam
)
希望它能满足您的要求。如果没有,或者您需要更多指定,您可以澄清您的需求。