尝试使用array_values,但它只是暂时的。Laravel,如何永久更改数组密钥?
控制器
foreach($rows as $key => $value)
{
array_values($value);
//dd shows the key changes to [0], [1], [2] and so on
}
尝试使用array_values,但它只是暂时的。Laravel,如何永久更改数组密钥?
控制器
foreach($rows as $key => $value)
{
array_values($value);
//dd shows the key changes to [0], [1], [2] and so on
}
你可以像这样做,
$rows = array_map(function($v){return array_values($v);}, $rows);
哦,很好...漂亮整洁 – begineeeerrrr
'array_map('array_values',$ rows)'也可能工作 – apokryfos
更美丽,好看! – begineeeerrrr
像这样的东西应该工作:
$new = [];
foreach($rows as $key => $value)
{
array_values($value);
$sub = [];
foreach ($value as $subKey => $subValue) {
$subKey = $key;
$sub[$key] = $subValue;
}
$new[$key] = $sub;
//dd shows the key changes to [0], [1], [2] and so on
}
然后返回$new
而不是$rows
。
嗯......除此之外还有其他选择吗?或者有这样一个雄辩的方式吗? – begineeeerrrr
不要更改数组键。代码可以变得更清洁,但我现在在工作,所以没有时间。你可以使用上面的作为基础和清理它一下,然后编辑答案也许? – DrRoach
好吧,我会在等待清洁版时首先使用它 – begineeeerrrr
如果你试图改变关联数组索引数组,这样做:
$array = array_values($array);
无需复杂的事情。 – GoogleMac
不会改变任何东西 – begineeeerrrr
@benineeeerrrr它实际上完全是你想要的。看到这里:https://code.sololearn.com/wF6d755yf5gG – GoogleMac
由于您使用laravel可以也可以这样做:
$rows = collect($rows)->map(function ($value) {
return Arr::accessible($value)?collect($value)->values()->all():$value;
})->all();
你是什么意思永久?你想要保存数组吗?如果是这样,您需要将数据存储在数据库中。 – DrRoach
如果我通过它来查看紧凑($行);并在视图中使用它,它将更改为正常 – begineeeerrrr
当前数组中的键是什么?你想让他们设置为什么? – DrRoach