数组函数data_*系列
data_fill 填充
用于多维数组或对象设置缺省值;
多级键名可以用.连接;
可以使用*作为通配符;
$data = [
'products' => [
['name' => 'Desk 1', 'price' => 100],
['name' => 'Desk 2'],
],
];
data_fill($data, 'products.*.price', 200);
/*
[
'products' => [
['name' => 'Desk 1', 'price' => 100],
['name' => 'Desk 2', 'price' => 200],
],
]
*/
data_get 检索
与data_fill相反,用于从多维数组或对象中检索值;
多级键名可以用.连接;
可以使用*作为通配符;
如果找不到指定的键,可设置默认返回值;
$discount = data_get($data, 'products.desk.discount', 0);
data_set 设置
与data_fill不同在于,data_set默认会覆盖原有值;
可以设置第四个参数为false,用于取消覆盖;
$data = ['products' => ['desk' => ['price' => 100]]];
data_set($data, 'products.desk.price', 200, false);
// ['products' => ['desk' => ['price' => 100]]]