我有以下数组结构:
$tpl = [
'breadcrumbs' => [
[ 'title' => 'Item Database', 'text' => 'Item Database', 'url' => SITE_DOMAIN.ADMIN_PATH.'/items/' ],
[ 'title' => $category->name, 'text' => $category->name, 'active' => true ]
]
];
我试图插入一个元素
之前
最后一个元素,我想我可以用
array_splice
具体如下:
if( !is_null($category->category) )
{
array_splice(
$tpl['breadcrumbs'],
1,
0,
[ 'title' => $category->category->name, 'text' => $category->category->name, 'url' => SITE_DOMAIN.ADMIN_PATH.'/items/' ]
);
}
然而,这似乎使我试图插入的项变平(根据预期行为),并产生以下输出:
Array
(
[0] => Array
(
[title] => Item Database
[text] => Item Database
[url] => https:
)
[1] => Medical Department
[2] => Medical Department
[3] => https:
[4] => Array
(
[title] => Class 1
[text] => Class 1
[active] => 1
)
)
而预期的产出应该是:
Array
(
[0] => Array
(
[title] => Item Database
[text] => Item Database
[url] => https:
)
[1] => Array
(
[title] => Medical Department
[text] => Medical Department
[url] => https:
)
[2] => Array
(
[title] => Class 1
[text] => Class 1
[active] => 1
)
)
我可以使用以下代码来实现这一点,但我觉得有点老套:
if( !is_null($category->category) )
{
$tpl['breadcrumbs'][2] = $tpl['breadcrumbs'][1];
$tpl['breadcrumbs'][1] = [ 'title' => $category->category->name, 'text' => $category->category->name, 'url' => SITE_DOMAIN.ADMIN_PATH.'/items/' ];
}
是否有任何方法可以在指定索引处将数组项插入多维数组,而无需编写自定义函数或使用上面的技巧?