Laravel,是否可以删除部分数组大小?
我有一个数组,如下图所示。正如你所看到的,阵列总共有20个尺寸。我如何将它裁减到只有3个尺寸?拉拉维尔有没有雄辩的方式来做到这一点?Laravel,是否可以删除部分数组大小?
穆罕默德Inaam穆尼尔回答
$null_index = 0;
$current_index = 0;
foreach ($rows as $key => $value)
{
$is_null = true;
foreach($value as $value_item)
{
if($value_item != null)
$is_null = false;
break;
}
if($is_null)
{
$null_index = $current_index;
break; // break the loop
}
$current_index++;
}
$rows = $rows->slice(0, $null_index);
dd($rows);
您可以在Laravel收集使用切片方法
https://laravel.com/docs/5.4/collections#method-slice
//convert array into laravel collection
$collection = collect($array);
// slice the collection starting from 0 index and limit upto 4 array values.
$slice = $collection->slice(0, 4);
// convert $slice back to array
$slice = $slice->toArray();
// now $slice variable has first 4 array values.
dd($slice);
它会删除数组的其余部分吗?我原来的想法是,我想插入蓝色线条之间的新纪录 – begineeeerrrr
是的,它会删除数组的其余部分。 $ slice现在只有4个值,其余的已被删除。 –
@begineeeerrrr我更新了我的答案,将laravel集合转换回数组。 –
您可以ü SE take
,它会显示只有三个用户:
$data = User::get()->take(3);
他已经有阵列了。现在他想从数组末尾删除一些数据。 –
你知道他只想要三个数据,那么他可以使用限制。他想显示多少个阵列。 –
您可以使用slice
方法,该方法返回集合的开始给定的索引片
$collection = collect($array);
$slicedArray = $collection->slice(0, 4);
我原来的想法是,我想在蓝线之间插入新记录
要将项目插入到位置中,您可以使用splice
方法
$collection = collect($array);
$collection->splice(4, 0, $itemOrItemsArrayToInsert)
您可以用' - >取()'或' - >限制()'得到的只是一些记录:) –
怎么样删除其余的? – begineeeerrrr
没有必要删除它会给过滤结果,只是从数据库中取几条记录 –