我在函数中使用了这种特定的数组形式
$array = [
'x' => [
0 => [
'a' => '',
'b' => ''
],
............
]
'y' => [
0 => [
'a' => '',
'b' => ''
],
............
]
];
此数组由
指定 第一级只有'x'
和'y'
键
在它们里面的数字键数组可以扩展到无限
以及这些数字键中的两个字母键 'a'
和'b'
,它们的值是字符串
此数组是使用HTML
输入并使用两个具有类似值的输入
value="array[x][][a]"
value="array[x][][b]"
value="array[y][][a]"
value="array[y][][b]"
可以通过更改任何级别值(例如
)轻松更改和提交value="array[z][z][z]"
并获得新的水平
$array = [
'z' => [
'z' => [
'z' => => ''
]
]
];
而且我想在一开始就严格限制为仅使用特定的第一种数组形式,我考虑过要使用
$correctForm = [
'x' => [
0 => [
'a' => '',
'b' => ''
],
............
]
'y' => [
0 => [
'a' => '',
'b' => ''
],
............
]
];
$array = array_intersect_key($array, $correctForm);
但是numeric keys
的部分及其值不够严格,以防万一我添加了另一个像'c' => ''
的字母,它仍然可以通过,而且如果我将密钥更改为字母,也可以通过,所以我要严格执行此操作
仅限1级['x', 'z']
仅限2级numeric characters key
仅限3级['a', 'b']
我能做到吗?